| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1138 人关注过本帖
标题:求大佬们帮看看提交到NOJ上PE的问题
只看楼主 加入收藏
沙普格瑞特
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-10-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求大佬们帮看看提交到NOJ上PE的问题
如题
图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,x,i,j,k,card[21],num[51],sum;
    scanf("%d%d",&n,&x);
    for (i=1;i<=20;i++)
    {
        scanf("%d",&card[i]);
    }
    for (i=1;i<=n;i++)
    {
        num[i]=i;
    }
    i=1;
    sum=50;
    while (sum>x)
    {
        sum=0;
        k=1;
        for (j=1;j<=n;j++)
        {
            if (num[j]%card[i]!=0)
            {
                num[j]=k;
                k++;
            }
            else
            {
                num[j]=0;
            }
        }
        for (j=1;j<=n;j++)
        {
            if (num[j]>0)sum++;
        }
        i++;
    }
    for (j=1;j<=n;j++)
    {
        if (num[j]==x)
        {
            printf("%d",j);
            return 0;
        }
        if (num[j]>0)
        {
            printf("%d ",j);
        }
    }
    return 0;
}
2016-10-05 20:12
沙普格瑞特
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-10-5
收藏
得分:0 
空格空行什么的都改过 也都是PE  这OJ真是醉了
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-10-5 20:16编辑过]

2016-10-05 20:13
沙普格瑞特
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-10-5
收藏
得分:0 
PE会和C语言版本有关吗
2016-10-05 20:18
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
我就问你一个问题:如果卡片次序为1 3 5,你的代码还是对的吗。
2016-10-05 23:03
沙普格瑞特
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-10-5
收藏
得分:0 
回复 4楼 linlulu001
我只考虑了每次都是一张卡刷完人之后结束
但其实可能刷人的中途人数就够了 就应该结束
后来改进了一下 AC了 感谢提醒
2016-10-06 10:26
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:20 
以下是引用沙普格瑞特在2016-10-5 20:12:32的发言:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,x,i,j,k,card[21],num[51],sum;
    scanf("%d%d",&n,&x);
    for (i=1;i<=20;i++)
    {
        scanf("%d",&card);
    }
    for (i=1;i<=n;i++)
    {
        num[i]=i;        
    }
    i=1;
    sum=n;
    while (sum!=x)
    {
        k=0;
        for (j=1;j<=n;j++)
        {
            if (num[j]!=0)    k++;
            if (num[j]!=0&&k%card[i]==0)
            {
                num[j]=0;
                sum--;
                if(sum==x)  break;
            }
        }
        i++;
    }
    sum=0;
    for (j=1;j<=n;j++)
    {
       if(num[j]!=0)
       {   
            sum++;
            if(sum==n)  {printf("%d",num[j]);break;}
            printf("%d ",num[j]);
       }
    }
    return 0;
}


在你的代码基础上修改的,没有测试。你自己试试看行不行。

[此贴子已经被作者于2016-10-6 16:27编辑过]

2016-10-06 16:24
快速回复:求大佬们帮看看提交到NOJ上PE的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019544 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved