提交时间:2025-07-15 10:37:08
运行 ID: 332717
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; const int N=1010; int tj[N], king[N]; 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; }