| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 437515 | 黄浙峰老师 | 【C6-7】田忌赛马 | C++ | 通过 | 100 | 2 MS | 268 KB | 949 | 2026-04-25 10:09:08 |
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; int tj[1086], king[1086]; int main() { int n; cin>>n; for (int i=1;i<=n;i++) cin>>tj[i]; for (int i=1;i<=n;i++) cin>> king[i]; sort(tj+1, tj+n+1,greater<int>()); sort(king+1, king+1+n,greater<int>()); int cnt=0,fa=1,la=n,fb=1,lb=n; while(fa<=la) { if(tj[fa]>king[fb]){//田忌最快的>国王最快的 赢 cnt++; fa++; fb++; }else if(tj[fa]<king[fb]){ //田忌最快的<国王最快的 la--; //田忌最慢的 ,输 fb++; //国王最快的 } else if(tj[fa]==king[fb]){ //田忌最快的==国王最快的 if(tj[la]>king[lb]){//如果田忌最弱的>国王最弱的 cnt++; la--; lb--; }else{ //让田忌最慢的马去耗国王最快的马,输 la--; fb++; } } } cout << cnt << endl; return 0; }