UVA - 11218 KTV(暴力求解)

Win11内核隔离无法打开的解决方案详解 内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。 阅读详情

Problem K

KTV

One song is extremely popular recently, so you and your friends decided to sing it in KTV. The song has 3 characters, so exactly 3 people should sing together each time (yes, there are 3 microphones in the room). There are exactly 9 people, so you decided that each person sings exactly once. In other words, all the people are divided into 3 disjoint groups, so that every person is in exactly one group.

However, some people don't want to sing with some other people, and some combinations perform worse than others combinations. Given a score for every possible combination of 3 people, what is the largest possible score for all the 3 groups?

Input

The input consists of at most 1000 test cases. Each case begins with a line containing a single integer n (0 < n < 81), the number of possible combinations. The next n lines each contains 4 positive integers a, b, c, s (1 <= a < b < c <= 9, 0 < s < 10000), that means a score of s is given to the combination ( a, b, c). The last case is followed by a single zero, which should not be processed.

Output

For each test case, print the case number and the largest score. If it is impossible, print -1.

Sample Input

3
1 2 3 1
4 5 6 2
7 8 9 3
4
1 2 3 1
1 4 5 2
1 6 7 3
1 8 9 4
0

Output for the Sample Input

Case 1: 6
Case 2: -1

题目大意:
  有9个人去KTV唱歌,每组3人分在一组唱歌,一人只能分在一个组里。然而不同的组合效果不同,而且某些人不想跟某些人同一组。所以不同的组合的得分是不同的。
现在给你n个组合,每组3人分别是a,b,c,和其相应的分数s,找出其中三个组合,使得1~9恰好各出现一次,且分数最大,求出这些组合中最高能得到的总分是多少。

解析:只需要暴力的回溯枚举出符合条件的情况,取其中最高的分数及可。


#include <cstdio>
#include <cstring>
using namespace std;
struct Node{
	int a,b,c,s;
}com[90];
int vis[10];
int n;
int max;
void dfs(int cur,int group,int sum) {
	if(group == 3) {
		if(sum > max) {
			max = sum;
		}
		return ;
	}
	if(cur == n) {
		return ;
	}
	if(!vis[com[cur].a] && !vis[com[cur].b] && !vis[com[cur].c]) { //如果满足条件回溯
		vis[com[cur].a] = true;
		vis[com[cur].b] = true;
		vis[com[cur].c] = true;
		dfs(cur+1,group+1,sum + com[cur].s);
		vis[com[cur].a] = false;
		vis[com[cur].b] = false;
		vis[com[cur].c] = false;
	}
	dfs(cur+1,group,sum); //如果不满足条件,查找下一个组合
}
int main() {
	int cas = 1;
	while(scanf("%d",&n) != EOF && n) {
		for(int i = 0; i < n; i++) {
			scanf("%d%d%d%d",&com[i].a,&com[i].b,&com[i].c,&com[i].s);
		}
		memset(vis,0,sizeof(vis));
		max = -1;
		dfs(0,0,0);
		printf("Case %d: %d\n",cas++,max);
	}
	return 0;
}


3、图像中文字信息提取技术全解析 本文全面解析了图像中文字信息提取(Text Information Extraction,TIE)的技术原理、挑战及应用领域。详细介绍了图像中三种主要文字形式:场景文字、字幕文字和文档文字的特点及提取难点。系统阐述了TIE技术的主要流程步骤,包括文字检测、定位、提取与增强、识别等关键阶段,并对主流技术方法进行了分类比较,包括基于连通组件、边缘、纹理等方法的优缺点分析。文章还介绍了多种其他提取技术,如二值化方法、混合方法、基于梯度的方法等,并提出了一种基于立体帧的新型场景文字提取方法,通过实验验证了该方法在召 阅读详情

相关推荐

systermverilog中for循环中的fork join执行情况分析

仅为本人学习记录,如有错误感谢指正!

qq_63807221的博客 1461

UVa 11218 KTV (枚举&位运算)

11218 - KTV Time limit: 3.000 seconds  http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=112&page=show_problem&problem=2159 One song is extremely popular recently, s

AC,∑ndless 1481

PaddleOCR 3.x 最新版使用教程(2025)——从安装到实战身份证识别,一步到位!

本文针对PaddleOCR 3.x大版本更新带来的参数变化和兼容性问题,提供从环境配置到实际应用的全流程解决方案。

qq_58607032的博客 9787

uva 11218 KTV 暴力(回溯)

这道题挺简单,暴力就可以了,和上次BC上字符串那个题差不多,都是递归三次,递归回溯就可以了,看来多做题确实是有用的,按说应该敲的很快的,中间有几个地方敲错了,甚至都没有加回溯,还好后来调了调,一次过 了,现在真是做个题就把代码贴上,谁让咱现在这么弱呢 代码: #include #include #include #include using namespace std; int visit[

勿忘初心 828

Android13 AudioFlinger混音流程全解析:从prepareTracks_l到threadLoop_write的底层实现

本文深入解析Android13 AudioFlinger混音流程,从prepareTracks_l到threadLoop_write的底层实现。详细剖析MixerThread的核心工作循环,包括音轨预处理、混音算法执行及硬件写入机制,帮助开发者优化音频性能并处理多音轨场景。

tea88的博客 1130

64、5G 侧链通信技术详解

本文详细解析了5G侧链通信的关键技术,包括资源感知与选择、UE间协调、混合ARQ、功率控制、信道探测与CSI报告以及侧链同步。资源感知与选择通过周期性或随机方式实现资源分配,UE间协调通过主动或被动方式避免资源冲突。混合ARQ机制确保数据传输可靠性,功率控制和信道探测优化传输质量并减少干扰。侧链同步则通过多种方式确保设备间时间一致性。这些技术相互配合,构建了高效稳定的5G侧链通信体系,适用于智能交通、物联网、应急通信等多个领域,为未来无线通信发展提供强大支撑。

oil88的博客 100

UVa 11218 - KTV, Rujia Liu的神题(一)

链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=112&page=show_problem&problem=2159 类型:   暴力回溯 原题: One song is extremely popular recently, so you and y

D_Double's Journey 2191

从基础到前沿:深度剖析光束整形与扫描技术

光束扫描的核心在于通过特定手段改变光束的传播方向,从而实现对目标区域的扫描。在这个过程中,振镜、声光偏转器、电光偏转器等元件发挥着关键作用。振镜是一种常见的光束扫描元件,它主要由电机、反射镜和透镜组成。当电机驱动反射镜旋转时,根据光的反射定律,反射镜会改变入射光线的反射方向。假设初始时光束垂直入射到反射镜上,当反射镜绕某一轴旋转一定角度时,光束的反射方向就会相应改变,从而实现光束在空间中的扫描。在激光打标设备中,通过控制振镜的快速摆动,能够使激光束在工件表面快速移动,完成各种图案和文字的标记。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2098

uva11218 - KTV

简单的暴力问题。。。。 三层循环,,, 为了省时,尽量每一层都加上判断。。 及时“剪枝"~~~ 代码如下: #include #include int n, vis[15], a[100], b[100], c[100], s[100]; int main () { int cas = 0, max, sco; while(scanf("%d",&n),n)

稻草人 924

YOLOv8改进 | Conv篇 | 利用YOLOv9的GELAN模块替换C2f结构(附轻量化版本 + 高效涨点版本 + 结构图)

本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的GELAN模块来改进YOLOv8中的C2f,GELAN融合了CSPNet和ELAN机制同时其中利用到了RepConv在获取更多有效特征的同时在推理时专用单分支结构从而不影响推理速度,同时本文的内容提供了两种版本一种是参数量更低涨点效果略微弱一些的版本(参数量V8n下降80w,计算量为6.1GFLOPs),另一种是参数量稍多一些但是效果要不参数量低的效果要好一些(均为我个人整理),提供两种版本是为了适配不同需求的读者,具体选择

Snu77的博客 7567

Java数据可视化实战:基于JFreeChart的数学函数绘图工具开发

JFreeChart是一个开源的Java图表库,适用于Swing和JavaFX应用程序。折线图和面积图柱状图和饼图散点图和气泡图组合图表3D图表等实现自定义数学表达式解析:java复制下载throw new IllegalArgumentException("表达式不能为空");// 验证表达式try {}");throw new IllegalArgumentException("无效的数学表达式: " + e.getMessage());try {

2201_76125393的博客 365

UVa 11218 - KTV, Rujia Liu的神题(一)

类型:   暴力回溯 原题: One song is extremely popular recently, so you and your friends decided to sing it in KTV. The song has 3 characters, so exactly 3 people should sing together each time

程序员的冷浪漫 1065

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2135

uva 11218 - KTV

Problem K KTV One song is extremely popular recently, so you and your friends decided to sing it in KTV. The song has 3 characters, so exactly 3 people should sing together each time (yes, there a

yanshiqin4的专栏 671

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Uva 11218 - KTV

暴力搜索 2Y 1WA于某些数组未初始化 写的好难看... #include int a[1010],s[99]; int ok[11]; int in(){ int i; for(i=1;i<=9;i++)ok[i]=0; } int main(){ int i,j,k; int n; int z=0; while(scanf("%d",&n)!=EOF&&n){

On my fighting way 851

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

uva 11218 - KTV

点击打开链接 题目意思: 有九个人去KTV唱歌,现在进行3个3个的组队,最多有81组,然后每一组会有一个分数,现在要我们找到三组得分最高的输出最高的得分。 解题思路: 1 首先我们应该了解如果同一个人同时在两个组中出现,那么这个就是不符和条件。 2 由于n最大为81,那么如果我么吧直接去枚举每一种情况,复杂度就是0(n^3)这个是可以接受的肯定不会超时,所以我么的解题思路就是暴力枚...

我是传奇 194

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【ICPC-118】uva 11218 - KTV

点击打开链接 题目意思: 有九个人去KTV唱歌,现在进行3个3个的组队,最多有81组,然后每一组会有一个分数,现在要我们找到三组得分最高的输出最高的得分。 解题思路: 1 首先我们应该了解如果同一个人同时在两个组中出现,那么这个就是不符和条件。 2 由于n最大为81,那么如果我么吧直接去枚举每一种情况,复杂度就是0(n^3)这个是可...

藏经阁 | 玄苦 877

UVA 11218 - KTV

brute force暴力枚举即可,位运算hash判重 #include int n,ans; int a[100],b[100],c[100],d[100],s[100]; void init(){ for(int i=1;i<=n;i++){ d[i]=(1<<a[i])+(1<<b[i])+(1<<c[i]); } } int main(){ int i,tm1,tm2; in

1292765944的专栏 1077

UVA --11218 KTV(DFS+回溯)

**Promble KTV** One song is extremely popular recently, so you and your friends decided to sing it in KTV. The song has 3 characters, so exactly 3 people should si

猴子姑娘呀的博客 458

UVa11218 KTV

// Rujia Liu // 题意:给出n个带权集合,每个集合包含1~9中的三个整数。找出其中三个集合,使得1~9恰好各出现一次,且权和最大 // 算法:暴力n^2枚举前两个集合,直接计算出第三个集合。用位运算让代码更简单,速度也更快 学习点: 1、全集ALL为(1&lt;&lt;n)-1 2、ALL ^ mask[i]求出mask[i]的补集 #include&lt;c...

weixin_34377919的博客 127

【索引】刘汝佳暴力问题

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=112   Title Total Submissions / Solving % Total Users / Solving % 11218 - KTV 2218 50.68%

Remilia's 1577

UVA - 11059 Maximum Product (简单枚举)

Problem D - Maximum Product Time Limit: 1 second Given a sequence of integers S = {S1, S2, ..., Sn}, you should determine what is the value of the maximum positive product involving consecutive term

小G的ACM之路 1527

CodeForces - 63C Bulls and Cows(暴力求解)

Bulls and Cows Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Description The "Bulls and Cows" game needs two people to play. The thinker thi

小G的ACM之路 1345

hdu 5374 Tetris(模拟俄罗斯方块)

题意: 俄罗斯方块想必大家都玩过,现在题目给出了3种俄罗斯方块。 O形,I形,L形 以及5种操作,w选择,a左移一位,d右移以为,w下移一位,p什么都不做。然后又给出了方块出现的序列,要求按所给出的操作能消除多少行。 解析: DRAW数组表示已(x,y)(x,y)为左下角,能在图上画出的形状。 然后模拟每个每个方块,直到当前方块不能动位置,在二维数组中标记方块,然后接下来选

小G的ACM之路 1199

HDU 5175 Misaki's Kiss again(暴力枚举+异或运算)

题意 找到满足gcd(N,M)==NxorM的M值(1<=M<=N) 解析: 令M = N xor K,原式:gcd(N,N xor K) == N xor (N xor K) == K 由此我们可以发现K是N的约数,找到所有N的约数,判断是不是满足那个等式即可,因为是异或运算,结果可能比约数本身大,如1xor2==3,还有异或出来结果等于0的舍掉,gcd(n,n) != n xor

小G的ACM之路 1127

HDU - 2474 Process scheduling (模拟银行家算法)

题目大意: 给你两个数字n和m,n代表进程的个数,m代表资源的个数。 现在题目要求你输入4个部分: 1.n和m 2.当前每个进程所含有的资源数,注意这里行为资源,列为进程 3.每个进程每次执行所需要的资源数 4.当前操作系统所拥有的资源 现在要你模拟银行家算法,分析是否能把所有的进程跑完,如果能就Yes,否则No 解析: 银行家算法的步骤: 每次查找所需要没有用过的进程,并

小G的ACM之路 1086
上一篇: UVA - 10591 Happy Number(hash)
下一篇: UVA - 11198 Dancing Digits(bfs+hash+线性表)
HelloWorld10086
博客等级 码龄12年 88粉丝 614原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值