| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:为什么我的杭电1052田忌赛马也错了
只看楼主 加入收藏
conquerorbzm
Rank: 2
等 级:论坛游民
帖 子:35
专家分:33
注 册:2010-7-23
结帖率:77.78%
收藏
已结贴  问题点数:10 回复次数:3 
为什么我的杭电1052田忌赛马也错了
我提交上去,程序运行到93ms就错了。但我真的发现不了错误,各位高手帮帮吗?顺便问一下,如果你调试程序是对的,但系统显示wa,这是自己该怎么就错啊!各位高手传授你们的经验。
/*我的思路很简单,就是先排序,再用田忌最好的马与齐王相差最小的马比*/
#include"stdio.h"                                    //选择排序。
void sort(int s[],int n)
{
    int i,j,t,k;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(s[k]<s[j])
                k=j;
        if(k!=i)
        {
            t=s[i];
            s[i]=s[k];
            s[k]=t;
        }
    }
}
int main()
{
    void sort(int s[],int n);
    int i,j,k,n;
    int a[1001]={0},b[1001]={0},c[1001]={3};        //a表示田忌的马,b表示齐王的马,c用来判定胜负。
    long sum;
    while(scanf("%d",&n)!=EOF&&n!=0)
    {   
        for(i=0;i<n;i++)                            //把c里面元素全计为3.
            c[i]=3;
        k=0;sum=0;                                    //k用来记录田忌的马赢齐王的那匹马序号。
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<n;i++)
            scanf("%d",&b[i]);
        sort(a,n);
        sort(b,n);
        for(i=0;i<n;i++)
            for(j=k;j<n;j++)
            {
                if(a[i]>b[j])                        //如果田忌的马赢就记为1.
                {   
                    k=j+1;
                    c[i]=1;
                    break;
                }
                if(a[i]==b[i])                        //平就记为0.
                {
                    k=j+1;
                    c[i]=0;
                    break;
                }
            }

        for(i=0;i<n;i++)                            //其余的马就表示输了为-1.
            if(c[i]>1)
                c[i]=-1;
        for(i=0;i<n;i++)
        {
            if(c[i]==1)
                sum+=200;
            if(c[i]==-1)
                sum-=200;
        }
        printf("%ld\n",sum);
    }
    return 0;
}
//是不是算法哪里还有漏洞啊,各位高手顺便传授下你们调试的经验。


        
搜索更多相关主题的帖子: 田忌 赛马 
2010-08-06 16:11
conquerorbzm
Rank: 2
等 级:论坛游民
帖 子:35
专家分:33
注 册:2010-7-23
收藏
得分:0 
谁帮帮忙啊
2010-08-06 18:37
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:10 
回复 2楼 conquerorbzm
我知道你错在哪里,但我还改不了
2010-08-06 18:53
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
回复 2楼 conquerorbzm
你加我qq,我们聊聊,1175013602
2010-08-06 18:54
快速回复:为什么我的杭电1052田忌赛马也错了
数据加载中...
 
   



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

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