uj5u.com熱心網友回復:
對比2個資料都大于即可uj5u.com熱心網友回復:
這題可以用貪心演算法來,首先我們只要盡可能多讓田忌的馬比齊王的馬快,同時要保證剛剛好田忌的馬比齊王的馬快,同時要保證這匹馬是田忌所有比齊王快的馬中的速度最小的那匹馬,
所以我們可以先給齊王和田忌的馬都由小到大排好序,將田忌的馬的速度遍歷,如果田忌馬比齊王馬快,記好這匹馬,然后
雙方的馬同時后移就好。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
#include<stdio.h>void pai(int a[],int n);int main(){ int a[1000],b[1000],yin; int c[500]; int m; scanf("%d",&m); for(int j=0;j<m;j++) { int n,i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n;i++) { scanf("%d",&b[i]); } pai(a,n); pai(b,n); int fast1=0,slow1=n-1,fast2=0,slow2=n-1; int win=0,lose=0; for(i=0;i<n;i++) { if(a[fast1]>b[fast2]) { win++; fast1++; fast2++; } else if(a[slow1]>b[slow2]) { win++; slow1--; slow2--; } else { if(a[slow1]<b[fast2]) { lose++; slow1--; fast2++; } } yin=(win-lose)*200; } c[j]=yin;} for(int k=0;k<m;k++) { printf("%d\n",c[k]); } return 0;}void pai(int a[],int n){ int i,j,temp; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[j]>a[i]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } } }}嗯 寫對了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260737.html
標籤:C語言
下一篇:c語言求助。
