程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 11218 - KTV

11218 - KTV

編輯:C++入門知識

[cpp]  描述:直接暴就可以了   #include <cstdio>   #include <cstdlib>   #include <cstring>   #define N 100003   int num[1010][4],s[11];   int n,sum,m=1;   void dfs(int cur,int count)   {       int x=0;       for(int i=1; i<=9; i++)           if(!s[i])           {               x=1;               break;           }       if(cur>=n||!x)       {           if(!x&&count>sum) sum=count;           return;       }       for(int i=cur; i<n; i++)       {           if(s[num[i][0]]+s[num[i][1]]+s[num[i][2]]==0)           {               s[num[i][0]]=s[num[i][1]]=s[num[i][2]]=1;               dfs(cur+1,count+num[i][3]);               s[num[i][0]]=s[num[i][1]]=s[num[i][2]]=0;           }       }   }   int main()   {  www.2cto.com   //  freopen("a.txt","r",stdin);       while(scanf("%d",&n)!=EOF)       {           if(!n) break;           sum=-1;           memset(s,0,sizeof(s));           for(int i=0; i<n; i++)               scanf("%d%d%d%d",&num[i][0],&num[i][1],&num[i][2],&num[i][3]);           dfs(0,0);           printf("Case %d: %d\n",m++,sum);       }       return 0;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved