hdu acm-step 1.3.2 Tian Ji -- The Horse Racing
Posted mtl6906
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu acm-step 1.3.2 Tian Ji -- The Horse Racing相关的知识,希望对你有一定的参考价值。
本题的题意是:给出n匹马,每匹马都有一个固定的速度,结果有胜平负三种。
代码如下:
#include <cstdio> #include <algorithm> using namespace std; int tian[1000]; int king[1000]; int win,lose; int n,i; int lt,lk,rt,rk; namespace IO { char ch; const int M = 0xcf; const int N = 0x30; int scan() { bool f = true; int sum=0; ch=getchar(); while(ch!=\'\\n\'||f==true) { if(ch<=\'9\'&&ch>=\'0\'){sum=sum*10+(ch&M);f=false;} else if((ch==\' \'||ch==\'\\n\')&&!f)return sum; ch=getchar(); } return sum; } void print(int a) { char s[20]; int i=0; if(a<0){putchar(\'-\');a=-a;} if(a==0)putchar(\'0\'); while(a){s[i]=a%10|N;a/=10;i++;}; while(i--){putchar(s[i]);} } } int main() { while(n=IO::scan()) { for(i=0;i<n;i++)tian[i]=IO::scan(); for(i=0;i<n;i++)king[i]=IO::scan(); sort(tian,tian+n); sort(king,king+n); win=lose=0; rk=rt=n-1; lt=lk=0; while(lt<=rt) { if(tian[rt] > king[rk]) { win++;rt--;rk--; } else if(tian[lt] > king[lk]) { win++;lt++;lk++; } else{ if(tian[lt] < king[rk]) { lose++; } lt++;rk--; } } IO::print(200*(win-lose)); putchar(\'\\n\'); } return 0; }
这道题错了很多次,后来发现原来结果有负的情况,改了之后就好了。
以上是关于hdu acm-step 1.3.2 Tian Ji -- The Horse Racing的主要内容,如果未能解决你的问题,请参考以下文章
hdu acm-step 2.1.7 Balloon Comes!