1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 int d[510][510]; 7 int n; 8 int fst,snd,ans; 9 int main(){ 10 scanf("%d",&n); 11 int i,j,x; 12 for(i=1;i<n;i++) 13 for(j=i+1;j<=n;j++) 14 { 15 scanf("%d",&d[i][j]); 16 d[j][i]=d[i][j]; 17 } 18 for(i=1;i<=n;i++){ 19 fst=0;snd=0; 20 for(j=1;j<=n;j++){ 21 if(d[i][j]>fst){ 22 snd=fst; 23 fst=d[i][j]; 24 } 25 else if(d[i][j]>snd)snd=d[i][j]; 26 if(snd>ans)ans=snd; 27 } 28 } 29 printf("1 %d",ans); 30 return 0; 31 }
题目内容不放了
由于电脑总是会拆掉最大的组合,所以玩家最多只能得到数值第二大的组合
那么找出第二大的组合就行了