2021/2/8 CCF演習201812(c ++)

201812-1
#include
using namespace std;
#define MAX 1000
int a [MAX] [2];
int main()
{ int r、y、g、n; cin >> r >> y >> g; cin >> n; int sum = 0; for(int i = 0; i <n; i ++){ int k、t; cin >> k >> t; a [i] [0] = k; a [i] [1] = t; if(k










0 || k1)
合計+ = a [i] [1];
else if(k == 2)
sum = sum + t + r;
そうでなければ
sum = sum;
}
cout << sum << endl;
0を返します。
}
201812-2
(20分错误代码)
#include
using namespace std;
int r、y、g、n;
int k、t;
long long sum = 0;
intudge(long long tt)
{ if(tt> = 0 && tt <r)return 1; //红灯if(tt> = r + g && tt <r + g + y)return 2; //绿灯if(tt> = r && tt <r + g)return 3 ; //黄灯}



int main()
{ cin >> r >> y >> g; cin >> n; for(int i = 0; i <n; i ++){ cin >> k >> t; if(k





0)
合計+ = t;
else if(k
1)
{ //最初は赤信号だったので、どの光が長く長くなるかを判断しますtt = rt; tt =(tt + sum)%(r + y + g); int flag = judge(tt); if(フラグ




1)
合計+ = r-tt;
else if(flag
2)
合計+ = r + y + g-tt + r;
}
else if(k2)
{ long long tt = r + g + yt; tt

(tt + sum)%(r + y + g);
intフラグ=ジャッジ(tt);
if(フラグ1)
合計+ = r-tt;
else if(flag
2)
合計+ = r + y + g-tt + r;
}
else if(k3)
{ long long tt = r + gt; tt

(tt + sum)%(r + y + g);
intフラグ=ジャッジ(tt);
if(フラグ1)
合計+ = r-tt;
else if(flag
2)
合計+ = r + y + g-tt + r;
}
else
cout <<“ ERROR” << endl;
}
cout << sum << endl;
0を返します。
}

(100ポイントのコード)

#include
using namespace std;
int main(){ // freopen( "1.txt"、 "r"、stdin); int A [3]; // A [0]がわかりませんは赤色光、A [1]は緑色光、A [2]は黄色光ですintn 、k、t、total = 0; scanf( "%d%d%d%d"、&A [0]、&A [2]、&A [1]、&n); total = A [0] + A [1] + A [2]; long long cnt = 0; while(n –){ scanf( "%d%d"、 &k、&t); if(k









0)cnt + = t;
else if(k
1 || k2){//赤信号
if(k
2)t + = A [0];
if(cnt <= t)cnt + =(t-cnt);
else { int left =(cnt-t)%total、i; for(i = 1; left> = A [i]; i =(i + 1)%3)left- = A [i]; もし私が



2)cnt + =(A [2]-左+ A [0]);
else if(i
0)cnt + =(A [0]-左);
}
}
else { if(cnt> t){ t + =(A [0] + A [2]); if(cnt <= t)cnt + =(t-cnt); else { int left =(cnt-t)%total、i; for(i = 1; left> = A [i]; i =(i + 1)%3)left- = A [i]; もし私が







2)cnt + =(A [2]-左+ A [0]);
else if(i
0)cnt + =(A [0]-左);
}
}
}
}
printf( "%lld"、cnt);
0を返します。
}

おすすめ

転載: blog.csdn.net/qq_40395925/article/details/113757508