脚本宝典收集整理的这篇文章主要介绍了PTA田忌赛马,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一、题目描述
二、解题思路
我们把tj的马和qw的马从小到大排个序
情况1:如果tj最大的马比qw最大的马快,则答案加1
情况2:如果tj最慢的马比qw最慢的马快,则答案加1
情况3:如果tj最慢的马比qw最快的马慢,则答案减1(也就是用最慢的马去耗qw最快的马)
情况4:如果tj最慢的马和qw最快的马一样快,且不符合以上三种情况,那么肯定这2n匹马的速度相同,故不需要对答案做操作
三、代码实现
1 #include "bits/stdc++.h" 2 using namespace std; 3 int tj[1010]; 4 int qw[1010]; 5 int main() 6 { 7 int n; 8 while(cin >> n){ 9 if(n == 0) 10 break; 11 for(int i = 1;i <= n;i++) 12 cin >> tj[i]; 13 for(int i = 1;i <= n;i++) 14 cin >> qw[i]; 15 sort(tj + 1,tj + 1 + n); 16 sort(qw + 1,qw + 1 + n); 17 int ans = 0; 18 int fa,fb,la,lb; 19 fa = fb = 1; 20 la = lb = n; 21 for(int i = 1;i <= n;i++){ 22 if(tj[fa] > qw[fb]){ 23 ans++; 24 fa++,fb++; 25 } 26 else if(tj[la] > qw[lb]){ 27 ans++; 28 la--,lb--; 29 } 30 else { 31 if(tj[fa] < qw[lb]){ 32 ans--; 33 fa++; 34 lb--; 35 } 36 } 37 } 38 cout << ans * 200 << endl; 39 } 40 return 0; 41 }
以上是脚本宝典为你收集整理的PTA田忌赛马全部内容,希望文章能够帮你解决PTA田忌赛马所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。