Uva 11218 - KTV
Problem K
KTV
解题思路:题目的意思是说9个人平均分成三组,题目的输出提供分组的情况,每组有一个权值,在找到三组刚好是不同9个人的前提下求出最大的权值,如果连一种找齐的情况都没有则输出-1,所以就直接一层一层以两个分支往下查找就行了
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=112&page=show_problem&problem=2159
1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 #define SIZE 81 5 using namespace std; 6 typedef struct group{ 7 int member[3]; 8 int score; 9 }group; 10 int n, score; 11 group Case[SIZE]; 12 int ktv[10], list[3]; 13 14 void Traverse(int cur, int cnt){ 15 if(cur >= n || cnt == 3){ 16 if(cnt == 3){ 17 int sum = 0; 18 for(int i=0; i<3; ++i){ 19 sum += Case[list[i]].score; 20 } 21 if(sum > score) score = sum; 22 } 23 return; 24 } 25 bool flag = false; 26 for(int i=0; i<3; ++i){ 27 if(ktv[Case[cur].member[i]] == 1){ 28 flag = true; 29 break; 30 } 31 } 32 if(!flag){ 33 for(int i=0; i<3; ++i){ 34 ktv[Case[cur].member[i]] = 1; 35 } 36 list[cnt] = cur; 37 Traverse(cur+1, cnt+1); 38 for(int i=0; i<3; ++i){ 39 ktv[Case[cur].member[i]] = 0; 40 } 41 } 42 Traverse(cur+1, cnt); 43 return; 44 } 45 46 int main() 47 { 48 #ifndef ONLINE_JUDGE 49 freopen("input.txt", "r", stdin); 50 #endif 51 int T = 0; 52 while(cin>>n && n){ 53 score = -1; 54 memset(ktv, 0, sizeof(ktv)); 55 for(int i=0; i<n; ++i){ 56 for(int j=0; j<3; ++j){ 57 cin>>Case[i].member[j]; 58 } 59 cin>>Case[i].score; 60 } 61 Traverse(0, 0); 62 cout<<"Case "<<++T<<": "<<score<<endl; 63 } 64 return 0; 65 }
转载于:https://www.cnblogs.com/liaoguifa/archive/2013/05/13/3075884.html
Uva 11218 - KTV相关推荐
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- PC/UVA 110207/10258
uva上面题的的输入输出格式 各种怪 晚几天会整理下 放上. 2.8.7比赛记分板 输入 :第一行为一个整数 表示测试数据的组数,接下来一行空行.以后每两组测试数据之间一组空行隔开(各组数据的多少不 ...
- 劲歌金曲 UVA 12563
劲歌金曲 UVA 12563 (If you smiled when you see the title, this problem is for you ^_^) For those who don ...
- Uva 12563,劲歌金曲,01背包
题目链接:https://uva.onlinejudge.org/external/125/12563.pdf 题意:n首歌,每首歌的长度给出,还剩 t 秒钟,由于KTV不会在一首歌没有唱完的情况下切 ...
- [搜索]UVa 129 困难的串
题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...
- uva 401.Palindromes
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- Uva 3767 Dynamic len(set(a[L:R])) 树套树
Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...
- UVA 11752 超级幂
UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & ...
- UVa 11174 - Stand in a Line
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
最新文章
- 关于ubuntu 16.04 docker常用命令
- Python进阶06 循环对象与迭代
- Win32使用Windows公共控件库创建工具条
- 为什么volatile不能保证原子性而Atomic可以?
- win10 linux uefi启动不了系统安装教程,【从踩坑到教程】win10下ubuntu18.04双系统UEFI模式安装、Nvidia驱动安装...
- Math、Date内置对象方法整理
- Spark内核解析之五:Spark Shuffle解析
- jQuery中的编程范式
- 君康人寿2019年排名_君康人寿易主后 内部提出五年上市计划
- 【软件测试学习笔记】易用性测试概念及测试项总结
- matlab分段函数怎么画图_关于MATLAB中分段函数的画法
- 申论高分作者心得分享——站在政府的角度写申论
- 读研规划,准研究生们看看哦!!!!!!!!!!!!!
- 学生学籍管理系统课程设计报告书
- [python] 正则
- sql server创建数据库代码模板
- 【微信支付付款至零钱】
- 流利说英语level4_英语流利说懂你英语 Level4 Unit1 Part1 Vocabulary
- SI信号仿真及软件 HyperLynx
- 2023华为OD机试备考攻略 以及题库目录分值说明 考点说明
热门文章
- settings.xml的配置
- 单系统站内信设计概述(满足百万级信息)
- crond服务及用法
- java封装为so,java挪用.so文件
- es6添加删除class_es6-class的基本用法
- parallels网络初始化失败_出神入化:特斯拉AI主管、李飞飞高徒Karpathy的33个神经网络炼丹技巧...
- php顶级框架,10个顶级PHP开源项目「2019」
- linux 内核任务调度,Linux任务调度
- 做好前端的话HTML和CSS基础必须夯实!
- QT保留小数点后几位