题解

59 条题解

  • 0
    @ 2009-02-03 23:50:35

    哪位大牛帮我看看问题出在哪里,用测试数据50 7来输入,输出的不是23而是50,为什么啊?

    program p1383;

    var a:array[1..5000]of integer;

    n,m,i,k,max:integer;

    yy:boolean;

    begin

    readln(n,m);

    for i:=1 to n do

    a[i]:=i;

    i:=1;

    k:=1;

    yy:=true;

    while (i

  • 0
    @ 2008-11-29 14:38:15

    var m,n,m1,m2,s:integer;

    begin

    readln(m,n);

    m1:=m div n;

    m2:=m mod n;

    if odd(n) then

    begin

    if m2

  • 0
    @ 2008-11-13 07:27:13

    余数为i和n-i的两个里面只能取一套,取数量较多的那一堆~~

    余数为0的如果有,只能取一个

    若n偶数,单另考虑i==n/2时,如果有,只能取一个

    奇数和上面一样~~

  • 0
    @ 2008-11-04 20:54:34

    编译通过...

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

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

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

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

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

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

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

  • 0
    @ 2008-10-25 12:53:33

    #include

    main()

    {int n,m;

    scanf("%d %d",&n,&m);

    printf("%d",(n/m)*((m-1)/2)+((n%m-m%2)

  • 0
    @ 2008-10-21 22:46:22

    不对啊,,数据好像有问题啊,,

    大家看看我哪里错了啊。

    #include

    #include

    using namespace std;

    int main()

    {

    int n,m,ihalf,ileft,s;

    cin>>n>>m;

    ihalf=(m-1)/2;

    ileft=n%m;

    if(ileft>=ihalf)ileft=ihalf;

    s=((n-ileft)*ihalf)/m+ileft;

    if(n>=m)s++;

    if(m%2==0 && n>=m/2)s++;

    cout

  • 0
    @ 2008-10-21 20:50:34

    编译通过...

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

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

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

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

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

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

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

    一次AC,貌似是第一次!!!!

    var m,n,m1,m2,s:integer;

    begin

    readln(m,n);

    m1:=m div n;

    m2:=m mod n;

    if odd(n) then

    begin

    if m2

  • 0
    @ 2008-10-03 22:35:07

    编译通过...

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

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

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

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

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

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

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

    真的!穷举竟然0s!!佩服ing……

  • 0
    @ 2008-09-13 17:22:33

    编译通过...

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

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

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

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

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

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

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

    水啊

    连循环都不用

    a:=(m+1)div 2;

    b:=n div m;

    c:=n mod m;

    s:=a*b;

    s:=s-b+1;

    if c

  • 0
    @ 2008-09-13 08:52:20

    这题水得好,一次AC

    编译通过...

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

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

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

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

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

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

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

    for i:=2 to n do 就行

    把i同数组a里的所有数两两相加,如果全部满足条件就将i放入数组a,最后输出a里面元素的个数。

  • 0
    @ 2008-09-05 21:30:18

    呜呜,为什么我总不通过?才学3个月,悲哀啊!我怎么去初赛啊?那为高手能帮忙?

  • 0
    @ 2009-08-12 15:39:52

    编译通过...

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

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

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

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

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

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

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

    少考虑几种情况!交了4遍!我的AC率啊!

    if odd(m) then

    k:=m div 2

    else

    k:=m div 2-1;

    i:=i+(n div m)*k;

    if n-(n div m)*m

  • 0
    @ 2008-08-25 22:48:43

    啊列列,我是暴力力的啊。

    sum[i]表示模m余i的有多少个数

    那么

    ans= max(sum[1],sum[m-1])+ max(sum[2],sum[m-2] + ...

    + max(sum[i],sum[m-i] + (sum[0]>0) + (m%2==0)

    ( i < m-i )

  • 0
    @ 2008-08-25 15:12:21

    咦?

    同志们

    你们是怎么盗数据的

    为什么我盗不出来……

  • 0
    @ 2008-08-15 19:50:54

    我靠 交错题了.....还交了几次

    我只提示一句...

    (n/m)*((m-1)/2)+((n%m-m%2)

  • 0
    @ 2008-08-02 20:11:54

    强啊!怪题目

  • 0
    @ 2008-07-28 21:18:27

    ...

    我是基德转世

  • 0
    @ 2008-07-29 21:04:20

    ---|> imstupid

    你真聪明``

  • 0
    @ 2008-07-26 21:27:07

    Kaito&Aoko?快斗和青子?……

  • 0
    @ 2008-07-21 11:49:32

    TMD...交错程序了...1380的交上来了...我的AC率本来就不高...

信息

ID
1383
难度
4
分类
数论 点击显示
标签
递交数
1109
已通过
503
通过率
45%
被复制
3
上传者