题解

17 条题解

  • 1
    @ 2015-09-05 08:53:15

    #include<iostream>
    #include<cstring>
    #include<stdlib.h>
    #include<cmath>

    using namespace std;

    long long ab(long long n);

    int main()
    {
    while (1)
    {
    char s[256];
    long long i,j,a;
    cin >> s;
    if (strlen(s) > 10)
    cout << "0" << endl;
    else
    {
    i = atoi(s);
    j = abs(i);
    if (j == 0)return 0;
    if (j > ab(32767))
    cout << "0" << endl;
    else
    {
    for (a = 1;a <= 32767;a++)
    {
    if (ab(a) % 2 == j % 2)
    {
    if (ab(a) >= j)
    {
    cout << a << endl;
    break;
    }
    }
    }
    }
    }
    }
    return 0;
    }

    long long ab(long long n)
    {
    long long sum = 0;
    sum = (1 + n)*n / 2;
    return sum;
    }

  • 0
    @ 2016-08-29 16:55:12

    估计有人和我一样没有看清题目,不知道是要计算旅行家正好有n件物品是所在的位置,所以没有考虑奇偶性

  • 0
    @ 2009-01-05 20:06:03

    编译通过...

  • 0
    @ 2008-10-27 21:21:38

    奇偶性...很好很强大阿.

  • 0
    @ 2008-10-25 11:51:58

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    这种题目为什么没人做。。。

  • 0
    @ 2008-10-14 21:08:41

    第82个,一次AC

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    var

    i,n:longint;

    m:extended;

    begin

    readln(m);

    while m0 do

    begin

    if abs(m)>32767*32768 div 2 then

    begin

    writeln(0);readln(m);continue;

    end;

    if abs(m)=1 then

    begin

    writeln(1);readln(m);continue;

    end;

    n:=trunc(abs(m));

    i:=2;

    while (i*(i+1) div 2

  • 0
    @ 2008-09-24 12:20:36

    升一星纪念

    O(1),11行,0msAC

  • 0
    @ 2008-09-16 13:14:05

    好简单,O(1)就够了

  • 0
    @ 2008-09-14 10:41:49

    这个题怎么会只有61人过,难度也就是1啊!!!

    我的方法是用的O(n)的数学方法。

    为了简单我们只看正数部分,负数一样。

    首先我们观察i=1,组成1;

    i=2,组成1,3;

    i=3,组成2,4,6;

    i=4,组成2,4,6,8,10;

    i=5,组成1,3,5,7,9,11,13,15;

    应该发现规律了吧?就是i可以组成sum[i]内的所有和sum[i]奇偶性相同的所有数。

    因此只要一个一重循环,判断n最早出现的位置即可。

    p.s:AC的100题,纪念一下

  • 0
    @ 2008-09-03 13:22:58

    begin

    读字符串

    while 非零 do

    begin

    去掉首位负号

    if 前面有很多零 then 去掉

    if 把前面的零去掉就什么也不剩了 then 退出程序

    if 长度大于9 then 输出0 else

    begin

    转化为数字x

    找到最小的数k,满足:从1加到k的和大于等于x,且与x奇偶性相同

    end

    读字符串

    end

    end

    是不是有点疑心太重啊?

  • 0
    @ 2008-09-03 12:51:45

    楼上的楼上,怎么用高精度开方?

  • 0
    @ 2008-08-20 11:22:28

    谢谢楼上大牛

  • 0
    @ 2008-07-17 12:22:54

    楼下大牛

    多谢!

  • 0
    @ 2007-07-21 14:24:49

    建议把那个什么32767去掉 来个高精度开方 也对得起这个"难度2"

    ( 2006-9-15 3:17:27 )

    呵呵,不明白为什么要用开方...也不懂用什么数论......直接一个O(MAXINT)的算法....................

  • 0
    @ 2006-09-15 03:17:27

    汗 这种简单题居然没人做...

    不知道出题的大牛所谓的"数论,关键是边界的处理"是指什么

    偶只用简单的枚举 反正题目规模很小...

    呵呵 建议把那个什么32767去掉 来个高精度开方 也对得起这个"难度2"

  • 0
    @ 2006-09-15 20:26:47

    数论,关键是边界的处理

    补充:枚举不是标准算法,标准算法是接近O(1)的,thebeet之所以能过是因为我的数据弱,这当然是数论题,至于难度2,确实是够不上

  • -1
    @ 2015-02-06 11:18:39

    当前位置:/home/题库/P1185 Endless Traveling/题解

    个人通过/递交:46/103(45%) ​

    未递交
    Endless Traveling

    发表题解

    需要更丰富的内容输出?编辑器快速入门 | Markdown详细帮助
    [Ctrl+Enter] 预览

    0

    回复 332404521发表于2009-01-05 20:06

    编译通过...

    0

    回复 cgy4ever发表于2008-10-27 21:21

    奇偶性...很好很强大阿.

    0

    回复 玛维-影之歌发表于2008-10-25 11:51

    编译通过...
    ├ 测试数据 01:答案正确... 0ms
    ├ 测试数据 02:答案正确... 0ms
    ├ 测试数据 03:答案正确... 0ms
    ├ 测试数据 04:答案正确... 0ms
    ├ 测试数据 05:答案正确... 0ms
    ├ 测试数据 06:答案正确... 0ms
    ├ 测试数据 07:答案正确... 0ms


    Accepted 有效得分:100 有效耗时:0ms
    这种题目为什么没人做。。。

    0

    回复 William D发表于2008-10-14 21:08

    第82个,一次AC
    编译通过...
    ├ 测试数据 01:答案正确... 0ms
    ├ 测试数据 02:答案正确... 0ms
    ├ 测试数据 03:答案正确... 0ms
    ├ 测试数据 04:答案正确... 0ms
    ├ 测试数据 05:答案正确... 0ms
    ├ 测试数据 06:答案正确... 0ms
    ├ 测试数据 07:答案正确... 0ms


    Accepted 有效得分:100 有效耗时:0ms

    var
    i,n:longint;
    m:extended;
    begin
    readln(m);
    while m<>0 do
    begin
    if abs(m)>32767*32768 div 2 then
    begin
    writeln(0);readln(m);continue;
    end;
    if abs(m)=1 then
    begin
    writeln(1);readln(m);continue;
    end;
    n:=trunc(abs(m));
    i:=2;
    while (i*(i+1) div 2<n)or(odd(i*(i+1)div 2) xor odd(n)) do
    inc(i);
    writeln(i);
    readln(m);
    end;
    end.

    0

    回复 AlNo3发表于2008-09-24 12:20

    升一星纪念

    O(1),11行,0msAC

    0

    回复 sxpeter发表于2008-09-16 13:14

    好简单,O(1)就够了

    0

    回复 jsydtc发表于2008-09-14 10:41

    这个题怎么会只有61人过,难度也就是1啊!!!
    我的方法是用的O(n)的数学方法。
    为了简单我们只看正数部分,负数一样。
    首先我们观察i=1,组成1;
    i=2,组成1,3;
    i=3,组成2,4,6;
    i=4,组成2,4,6,8,10;
    i=5,组成1,3,5,7,9,11,13,15;

    应该发现规律了吧?就是i可以组成sum[i]内的所有和sum[i]奇偶性相同的所有数。
    因此只要一个一重循环,判断n最早出现的位置即可。

    p.s:AC的100题,纪念一下

    0

    回复 DFS发表于2008-09-03 13:22

    begin
    读字符串
    while 非零 do
    begin
    去掉首位负号
    if 前面有很多零 then 去掉
    if 把前面的零去掉就什么也不剩了 then 退出程序
    if 长度大于9 then 输出0 else
    begin
    转化为数字x
    找到最小的数k,满足:从1加到k的和大于等于x,且与x奇偶性相同
    end
    读字符串
    end
    end

    是不是有点疑心太重啊?

    0

    回复 fammiebright发表于2008-09-03 12:51

    楼上的楼上,怎么用高精度开方?

    0

    回复 hzx2008发表于2008-08-20 11:22

    谢谢楼上大牛

    0

    回复 fengyi发表于2008-07-17 12:22

    楼下大牛
    多谢!

    0

    回复 giny发表于2007-07-21 14:24

    建议把那个什么32767去掉 来个高精度开方 也对得起这个"难度2"
    ( 2006-9-15 3:17:27 )

    呵呵,不明白为什么要用开方...也不懂用什么数论......直接一个O(MAXINT)的算法....................

    0

    回复 thebeet发表于2006-09-15 03:17

    汗 这种简单题居然没人做...

    不知道出题的大牛所谓的"数论,关键是边界的处理"是指什么

    偶只用简单的枚举 反正题目规模很小...

    呵呵 建议把那个什么32767去掉 来个高精度开方 也对得起这个"难度2"

    0

    回复 lolanv发表于2006-09-15 20:26

    数论,关键是边界的处理

    补充:枚举不是标准算法,标准算法是接近O(1)的,thebeet之所以能过是因为我的数据弱,这当然是数论题,至于难度2,确实是够不上

    没有更多题解了...

    UPYUN

    评测机们
    ◦Jtwd2
    ◦树形图设计者
    ◦上海红茶馆
    ◦VijosEx

    Vijos 2.0 动态
    ◦2014-9-16 网络维护
    ◦2014-9-25 备案完毕
    ◦2014-9-28 更换服务器
    ◦2014-11-28 微小更新

    实验室 | API | 博客 | 帮助 | 隐私 | 联系 | 关于 | 沪ICP备14040537号

    © Copyright Vijos, a1520eb beta, in 29.4919 ms

    标程在下面

    编译通过...
    ├ 测试数据 01:答案正确... 0ms
    ├ 测试数据 02:答案正确... 0ms
    ├ 测试数据 03:答案正确... 0ms
    ├ 测试数据 04:答案正确... 0ms
    ├ 测试数据 05:答案正确... 0ms
    ├ 测试数据 06:答案正确... 0ms
    ├ 测试数据 07:答案正确... 0ms


    Accepted 有效得分:100 有效耗时:0ms

  • 1

信息

ID
1185
难度
4
分类
其他 | 数学 点击显示
标签
(无)
递交数
281
已通过
120
通过率
43%
被复制
4
上传者