题意不讲,怕说不清,自己一点点看吧。
思路是贪心,将每个人的牌按从小到大或(从大到小),我是从小到大排的,
然后每次从第二摞排中找比第一摞排的那张大且相差最小的就可以了,每次找到就sum++;
最后sum值就是最优的(贪心思想)。
1 #include<stdio.h> 2 #include<algorithm> 3 #include<iostream> 4 #include<stdlib.h> 5 #include<string.h> 6 #include<math.h> 7 int f(const void*p,const void*q); 8 typedef struct pp 9 { 10 int x; 11 int y; 12 } ss; 13 int main(void) 14 { 15 int n,i,j,k,p,q; 16 char a[100]; 17 char b[100]; 18 ss kk[100]; 19 ss qq[100]; 20 scanf("%d",&k); 21 while(k--) 22 { 23 scanf("%d ",&n); 24 gets(a); 25 gets(b); 26 int uu=0; 27 for(i=0; a[i]!='