#6779: 為什麼是TLE 幫我看一下~~


CSE011514 (嗯?!)

學校 : 國立臺中高級工業職業學校
編號 : 23478
來源 : [140.118.233.208]
最後登入時間 :
2016-02-26 14:39:46
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [118.170.187.243] | 發表日期 : 2012-07-12 19:43

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char a[99999];
while(cin.getline(a,99999))
{
int b,c=0;
b=strlen(a);
for(int i=0;i<=b-1;i++)
if(a[i]==' ') c++;
cout << c+1;
}
return 0;
}

 

 

以上是我的程式碼

請問我該怎麼改~~

謝謝!!

 
#6889: Re:為什麼是TLE 幫我看一下~~


BTcom (Sloth)

學校 : 國立屏東大學
編號 : 26486
來源 : [111.242.146.229]
最後登入時間 :
2015-09-07 20:00:02
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [36.228.0.97] | 發表日期 : 2012-08-09 17:51

#include
#include
using namespace std;
int main()
{
char a[99999];
while(cin.getline(a,99999))
{
int b,c=0;
b=strlen(a);
for(int i=0;i<=b-1;i++)
if(a[i]==' ') c++; //條件式,有些不足夠..除了空白,還要注意一點
//例如:You're handsome!! 答案是:3..
cout << c+1;  //小bug,輸出要換行 ->更改為 cout <<c+1<<endl(結尾換行);
//這是TLE引發的原因。
}
return 0;
}

 

 

以上是我的程式碼

請問我該怎麼改~~

謝謝!!


Hey man=~="~我已經標記了XD"~ 如果還有問題!! 歡迎指責我XD??! 或者是提點我一下XD"

一起加油吧XD"

(P.S我稍微修改這些BUG,是可以編譯得過去的XD~~大丈夫(日文)  
#6890: Re:為什麼是TLE 幫我看一下~~


BTcom (Sloth)

學校 : 國立屏東大學
編號 : 26486
來源 : [111.242.146.229]
最後登入時間 :
2015-09-07 20:00:02
a011. 00494 - Kindergarten Counting Game -- UVa494 | From: [36.228.0.97] | 發表日期 : 2012-08-09 18:02

 

引發TLE的原因:
1.使用類似system("pause"),使執行停留在那一點XD"
2.輸出忘記換行..
P.S輸入資料的方式:是用文件或者是其他檔案進行一行輸入
就比如說:
有個文件檔是1.txt
內容如下:
Happy!!
You're handsome!!
.
.
它是先採取"Happy!!"進行輸入,然後再進行判斷
接著在換下一個資料進行判斷
可是問題來了XD?
它判斷資料的點:是在下一行
-------------------
Correct EX:
Happy!!
1\n //判斷正確
You're handsome!!
3\n //判斷正確

Incorrect EX:
Happy!!
1Your're handsome!! //能判斷第一個,但第二個就無法判斷,因為沒下一行XD,當然要因輸入而變XD"
-------------
如果忘了加下一行,會使它停留在那,接著最後它會很鬱悶為甚麼它找不到女朋友(能判斷的地方XD") 
 
ZeroJudge Forum