#26255: 求解 ( 為什麼只過不了第五個測資


timyou (尤耀主)

學校 : 國立彰化高級中學
編號 : 110941
來源 : [111.82.167.61]
最後登入時間 :
2024-03-20 00:47:43
f581. 3. 圓環出口 -- 2020年7月APCS | From: [42.76.17.172] | 發表日期 : 2021-07-28 11:10

#include <iostream>

#include <algorithm>

using namespace std;

 

 

int main(){

ios_base::sync_with_stdio(NULL);

cin.tie(0);

int N, M;

while(cin >> N >> M){

int round, room[N]={}, T[M], cha[N];

 

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

cin >> cha[i];

 

room[0]= cha[0];

for(int i=1; i<N; i++){

room[i] += room[i-1] + cha[i];

}

round = room[N-1];

 

 

for(int i=0; i<M; i++) cin >> T[i];

 

 

 

int pos = 0;

for(int k=0; k<M; k++){

T[k] += room[(pos+N-1)%N];

 

T[k] %= round;

 

if(T[k] == 0){   

pos = pos;

}

else{

pos = (lower_bound(room, room + N, T[k]) - room) + 1;

}

 

pos %= N;

}

cout << pos << endl;

 

}

}

 
#26256: Re:求解 ( 為什麼只過不了第五個測資


timyou (尤耀主)

學校 : 國立彰化高級中學
編號 : 110941
來源 : [111.82.167.61]
最後登入時間 :
2024-03-20 00:47:43
f581. 3. 圓環出口 -- 2020年7月APCS | From: [42.76.17.172] | 發表日期 : 2021-07-28 11:14

#include

#include

using namespace std;

 

 

int main(){

ios_base::sync_with_stdio(NULL);

cin.tie(0);

int N, M;

while(cin >> N >> M){

int round, room[N]={}, T[M], cha[N];

 

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

cin >> cha[i];

 

room[0]= cha[0];

for(int i=1; i<N; i++){

room[i] += room[i-1] + cha[i];

}

round = room[N-1];

 

 

for(int i=0; i<M; i++) cin >> T[i];

 

 

 

int pos = 0;

for(int k=0; k<M; k++){

T[k] += room[(pos+N-1)%N];

 

T[k] %= round;

 

if(T[k] == 0){   

pos = pos;

}

else{

pos = (lower_bound(room, room + N, T[k]) - room) + 1;

}

 

pos %= N;

}

cout << pos << endl;

 

}

}

應該是第三個

 
#28925: Re:求解 ( 為什麼只過不了第五個測資


fou23124137 (fou23124137)

學校 : 國立中山大學附屬國光高級中學
編號 : 122517
來源 : [163.32.79.141]
最後登入時間 :
2023-02-14 09:34:08
f581. 3. 圓環出口 -- 2020年7月APCS | From: [219.69.120.8] | 發表日期 : 2022-01-12 22:18

我現在也遇到相同的情況

請問您是修改了什麼才改好那筆測資的問題呢?



 
ZeroJudge Forum