ACM计算两点间距离为什么提示Output Limittime exceededd

北大ACM1107题说我Output Limit Exceeded?
首先嘛叫Output Limit Exceeded啊……明明样数都对了……啊!!!我恨ACM...代码:(唉,新手,大家帮忙找找错吧……就剩10分了,各位海涵啊……)#include&stdio.h&#include&STRING.H&main(){ char a[1000],b[1000]; int k[4]; while(scanf(&%d %d %d&,&k[1],&k[2],&k[3]),k[1]!=0||k[2]!=0||k[3]!=0) {  int g[4][1000],c[4]={0,0,0,0},i,m,n,q;  fflush(stdin);  gets(a);  for(i=0;a[i]!='\0';i++)  {   if(a[i]&='a'&&a[i]&='i')    g[1][c[1]++]=i;   else if(a[i]&='j'&&a[i]&='r')    g[2][c[2]++]=i;   else    g[3][c[3]++]=i;  }  for(n=1;n&4;n++)  {   for(q=0;q&k[n];q++)    b[g[n][q]]=a[g[n][c[n]-k[n]+q]];   for(m=0;q&c[n];q++)    b[g[n][q]]=a[g[n][m++]];  }  b[i]='\0';  puts(b); }}
09-08-10 & 发布
#include &stdio.h& #define SIZE 10 void sort(int a[],int n) {
       int i,len,
       len=n-1;
       for(i=0;i&)
       {
               if((a[i]&0x01)==0) //判断是否为偶数
               {
                       temp=a[len];
                       a[len]=a[i];
                       a[i]=
                       len--;
               }
               else
                       i++;
       } } int main() {
       int a[SIZE]={0},i;
       for(i=0;i&SIZE;i++)
               scanf(&%d&,&a[i]);
       sort(a,SIZE);
       for(i=0;i&SIZE;i++)
               printf(&%-5d&,a[i]);
       printf(&\n&);
       return 0; }
请登录后再发表评论!航电 1282(回文数) Output Limit Exceeded?_acm吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:8,652贴子:
航电 1282(回文数) Output Limit Exceeded?收藏
快试试吧,可以对自己使用挽尊卡咯~◆◆
&为什么是Output&Limit&Exceeded?
下面是我的代码:
#include&stdio.h&
#include&string.h&
int&
char&a[20];
int&huiwen()&&//判断是否是回文数
{
int&flag=1,i;
for(i=0;i&len/2;i++)
if(a[i]!=a[len-i-1])
return&
}
void&change()&&//倒序相加
{
char&b[20];
int&pre=0,k,i;
&&&&for(i=0;i&i++)
k=(a[i]-'0')+(a[len-i-1]-'0')+
b[i]=k%10+48;
b[len]='1';
b[len]='\0';
&&b[len]='\0';
strrev(b);
&&&&strcpy(a,b);
}
int&main()
{
int&count,i;
char&&c[100][15];
scanf(&%s&,a);
getchar();
len=strlen(a);
strcpy(c[count],a);
while(huiwen()==0)
strcpy(c[count],a);
c[count][len]='\0';
printf(&%d\n&,count);
for(i=0;i&i++)
printf(&%s---&&,c[i]);
printf(&%s&,c[count]);
printf(&\n&);
return&0;
}
快试试吧,可以对自己使用挽尊卡咯~◆◆
测试数据都通过了。不过当输入196时无法正常输出!!
快试试吧,可以对自己使用挽尊卡咯~◆◆
Lz的算法有些麻烦吧 看了下题目 input 用long int test就好之后分别用int a,b,c,d,e,e,b,c,b,a代表权为pow(10,10)到pow(10,0)上的数字(回文么,从左读到又和从右读到左,应该是一样的)test=a*+b*+c*+d*1000000+e*100000+e*10000+d*1000+c*100+b*10+a是否为素数就好了这个算法的效率还不错Lz参考使用
Output Limit Exceeded 是你的结束条件没空着好while(1) { scanf("%s",a); 改为while(scanf(-1!=scanf("%s",a)){
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或杭电acm1235,Time Limit Exceeded,过不去,请高手指点_百度知道
杭电acm1235,Time Limit Exceeded,过不去,请高手指点
m, i:N第2行;
/ d &lt,
int *&#47。Output对每个测试用例;&gt. a[i]; i++) {
if ( a[i] == m) {
d++:给定分数当读到N=0时输入结束;&gt,相邻两数字用一个空格间隔,每个测试用例的格式为第1行; n.edu,将获得给定分数的学生人数输出.cn/iostream&gt。Sample Input380 60 9060285 660560 75 90 55 75750Sample Output102HintHint H i &lt:N名学生的成绩.php?pid=1235" target="_blank">http。其中N不超过1000;
for ( i = 0; n) {
if ( n == 0) {
return 0;&gt, a[1000];&lt://
d = 0。Input测试输入包含若干测试用例;
for ( i = 0; i &lt, d。第3行.cn/
while (cin &gt.php.using namespace std<a href="cin &&gt,将获得某一给定分数的学生人数输出,成绩分数为(包含)0到100之间的一个整数;int main(){
int n, &lt?pid=1235Problem Description读入N名学生的成绩; i++) {
cout &lt://acm.我的代码#include &lt
提问者采纳
&gt,scanf printf是必须的;
scanf(& i++) {
while (scanf(&int main(){
int n下面有提示的; i++) {
if ( a[i] == m) {
d++; i &;%d&#92;;;,d); a,%d&quot,你的算法没问题;cin &
printf(&quot, a[1000];
int *p 。我只把你的输入输出改了就ac了; i &lt,&m),数据量大,&n)) {
if ( n == 0) {
d = 0, m,&a[i]),读入大量数据的时候会超时的;%d&quot。#include &n&
for ( i = 0;iostream&%d&
for ( i = 0,&#47,cin cout比较慢
其他类似问题
limit的相关知识
其他3条回答
/输入给定分数
printf(&iostream&输出给定分数的人数 } return 0;/%d&
&#47, sizeof(a));%d&%d&quot,&n) ,&k);int a[101]; while(scanf(&&#47#include &lt,a[k]);%d&#92;/
scanf(&/n&quot, k!= EOF && n) {
memset(a;;每个分数对应的学生人数int main(){;, 0,&k);对每个分数初始化为0
while(n--)
scanf(&&#47
HintHint Huge input, scanf is recommended.不要用cin,cout,用scanf,printf。标准IO流很慢。或者不想改的话,加一句ios::sync_with_stdio(false);把同步关了也行。
注意这句话&Huge input, scanf is recommended.&所以将所有的cin改成scanf就ac了。#include &iostream&int main(){
int n, i, a[1000], m,
while (scanf(&%d&,&n)) {
if ( n == 0) {
for ( i = 0; i & i++) {
scanf(&%d&,&a[i]);
scanf(&%d&,&m);
for ( i = 0; i & i++) {
if ( a[i] == m) {
//cout && d &&
printf(&%d&#92;n&,d);
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 exceeded 的文章

 

随机推荐