| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:C超时问题
只看楼主 加入收藏
公子小白2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-24
结帖率:50%
收藏
 问题点数:0 回复次数:1 
C超时问题
#include<stdio.h>
//#include<stdlib.h>WEB-INF/temp/20121107_050511_141781/Main.cc:
//In function `int main()':
//WEB-INF/temp/20121107_050511_141781/Main.cc:12: error:
// ISO C++ forbids comparison between pointer and integer
#include<string.h>
int main(void)
{
   long p,q,q1,q2;
    p=0;q=0;q1=0;q2=0;
    long i;
    long count=0;
    char a[100000];
    scanf("%s",a);
    while (a!='EOF')
 {

      for(i=0;i<strlen(a);i++)
    {
        if(*(a+i)=='+')
        {
            if(q2>0){q2--;q1++;}
            else{count++;q1++;}
        }
       else if(*(a+i)=='-')
       {
           if(q1>0){q1--;q2++;}
           else{count++;q2++;}
       }

    }
    printf("%ld\n",count);
    q1=q2=0;
    count=0;
    scanf("%s",a);
    break;
    }

 return 0;
}
搜索更多相关主题的帖子: function long include between comparison 
2012-12-05 12:00
公子小白2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-24
收藏
得分:0 
上面的程序为什么会超时啊?
还有没有更好的算法?有多组测试数据(≤10),每组测试数据只有一行,是一个保证只含’+’或’-’两种字符(不含空格)的,长度不超过100000的字符串。输入以EOF结束。
输出格式

对于每组测试数据,输出一行一个整数,表示该趟校巴中最少有多少不同的人上下车。
输入样例

---
+-+-+
输出样例

3
1
Hint

输入以EOF结束可以像下面这样写:
while (scanf("%s", str) > 0) {...}
在本地调试的时候可以以文件输入,或者在输入后按ctrl+z再按回车来实现以EOF结束。
2012-12-05 12:02
快速回复:C超时问题
数据加载中...
 
   



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

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