#23425: 測試執行AC,送出去卻是Na0%,求解


money110209@gmail.com (Zhe You)

學校 : 臺中市私立明道高級中學
編號 : 131422
來源 : [180.217.209.197]
最後登入時間 :
2023-04-21 11:24:47
a565. 2.p&q的邂逅 -- 101學年度台北市資訊學科能力競賽 | From: [111.242.113.20] | 發表日期 : 2020-11-15 20:31

#include <iostream>

using namespace std;

 

int main() {

int time,a=0,b=0,t=0,tt=0,k=0,u =0;

 

cin>>time;

cin.get();

for(int i=0;i<time;i++)

{

char n[1000000]={},p[1000000]={};

cin.getline(n,200);

while(1){

if(n[u]!='p'&&n[u]!='q'&&n[u]!='.')

break;

p[t] = n[u];

u = u+1;

if(p[t]=='.'){

continue;

}

if(p[t]=='p')

a = 1;

 

 

 

if(a==1&&p[t]=='q')

{

tt = tt+1;

a = 0;

b = 0;

 

t = t-2;

if(p[t]=='p')

a = 1;

}

t = t+1;

 

}

cout<<tt<<endl;

t = 0;

u = 0;

tt = 0;

}

 

 

}

 

 
#23428: Re:測試執行AC,送出去卻是Na0%,求解


money110209@gmail.com (Zhe You)

學校 : 臺中市私立明道高級中學
編號 : 131422
來源 : [180.217.209.197]
最後登入時間 :
2023-04-21 11:24:47
a565. 2.p&q的邂逅 -- 101學年度台北市資訊學科能力競賽 | From: [140.128.156.248] | 發表日期 : 2020-11-16 17:47

後來發現getline()的數字開成200但改了之後還是有一些問題,

#0: 20% WA (line:2)

您的答案為: 9
正確答案為: 8

#1: 20% WA (line:2)

您的答案為: 34
正確答案為: 33

#2: 20% WA (line:6)

您的答案為: 962
正確答案為: 961

#3: 20% WA (line:2)

您的答案為: 19703
正確答案為: 19702

#4: 20% WA (line:1)

您的答案為: 799452
正確答案為: 1998788

喔對,我開的陣列大小有改過



 
#23433: Re:測試執行AC,送出去卻是Na0%,求解


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a565. 2.p&q的邂逅 -- 101學年度台北市資訊學科能力競賽 | From: [123.194.188.217] | 發表日期 : 2020-11-16 21:06

※原題並無長度限制,此處約定長度小於等於107。

提醒一下,這邊指的其實是 10^7,改完希望你就能過

 

大致看得出來,當 p[t] == 'q' && p[t-1] == 'p' 時 tt = tt + 1,可能可以改成只判斷 p[t] == 'p' && n[u] == 'q'(當然有更好的改法)

另外 <cstring> 有 strlen(n) 可以幫助你遍歷 n 的所有字元,而不是用 while(1)

 
ZeroJudge Forum