KTV

来源:互联网 发布:php 返回404状态码 编辑:程序博客网 时间:2024/04/28 23:29

思路:枚举

在多种情况中要选择三种作为一组进行分析,用到了三重循环

这种方法有待改进



#include<iostream>#include<cstring>using namespace std;int a[90][4];int c[10];int main(){int n;int cases=1;while(cin>>n&&n!=0){for(int i=0;i<n;i++){cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3];}int s;int max=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){for(int k=j+1;k<n;k++){int sum=0;memset(c,0,sizeof(c));for(int q=0;q<3;q++) //保证在选取的三组里每个数都只出现了一次 {c[a[i][q]]=1;c[a[j][q]]=1;    c[a[k][q]]=1;}int q;for( q=1;q<=9;q++) {if(c[q]==0) //如果有某个数没有出现过,则这种选择必然不符合要求 {s=0;break;}}if(q==10) s=a[i][3]+a[j][3]+a[k][3];//如果符合要求,就计算分值 if(s>max) max=s;//更新最大的分值 }}}if(max==0) cout<<"Case "<<cases<<": -1"<<endl;else cout<<"Case "<<cases<<": "<<max<<endl;cases++;}} 


0 0
原创粉丝点击