首页 > 其他分享 >UVA11218的题解

UVA11218的题解

时间:2024-01-21 21:55:21浏览次数:41  
标签:cnt return int 题解 UVA11218 ++ vis ans

题目翻译大意

有九个人要去 KTV 唱歌,每三个人为一组分成三组,现在给出了 \(n\) 种分的组合,输入四个数 \(a,b,c,s\) 分别代表 \(a,b,c\) 这三个人的构成一个组合能获得 \(s\) 分,现在要求最多能获得多少得分。如果无法把分配九个人就输出 -1

  • 分析数据范围:

    看这数据,\(n < 81\) 不就是明显摆着让我们暴搜的吗?

  • 做题思路:

    考虑暴力。由于需要分成三组,可以直接枚举三个组,随后判断是否成立,若成立,求最大值。

  • 代码:

#include <bits/stdc++.h>
using namespace std;

int n;
int a[81][4];
int ans;

int vis[10];
int check(int x, int y, int z)
{
    memset(vis, 0, sizeof(vis));
    int ret = a[x][3] + a[y][3] + a[z][3];
    for (int i = 0; i < 3; i++)
        vis[a[x][i]]++, vis[a[y][i]]++, vis[a[z][i]]++;
    for (int i = 1; i <= 9; i++)
        if (vis[i] > 1)
            return -1;
    return ret;
}

int main()
{
    int cnt = 0;
    while (1)
    {
        cnt++;
        cin >> n;
        ans = -1;
        if (n == 0)
            break;
        for (int i = 0; i < n; i++)
            for (int j = 0; j < 4; j++)
                cin >> a[i][j];

        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                for (int k = 0; k < n; k++)
                    ans = max(ans, check(i, j, k));
        printf("Case %d: %d\n", cnt, ans);
    }

    return 0;
}

标签:cnt,return,int,题解,UVA11218,++,vis,ans
From: https://www.cnblogs.com/mgcjade/p/17978470

相关文章

  • 2024.1.21模拟赛 C题解
    简要题意略思路首先有一个\(O(nk)\)的暴力dp,30pts我们可以发扬人类智慧,构造势能函数\(U_x=\sum_{未选择的点i}dis(i,x)+h_i\),当前在\(x\)点定义\(f_i\)表示走到\(i\)点时势能函数的最小值,\(s_i\)表示\(i\)到起点的距离容易发现只会跨过起点进行转移,于是\(f_i=f_j+2\tim......
  • 「闲话随笔」【数据删除】考试题解
    「闲话随笔」【数据删除】考试题解点击查看目录目录「闲话随笔」【数据删除】考试题解T2T3T4T5T6T7T1T8T9被教练斩了.级部为啥不让公布分数?哦好像确实不该.咋四机房就我还没停whk,那我还挺高贵的.昨天中午saidtoFLORIZ:感觉现在是提前体验退役生活了,回班之后小测......
  • 2024.1.21模拟赛 B题解
    题目大意略思路首先有一个50pts的网络流暴力考虑按照\(dp\)值分层,发现在同一层内,随着\(i\)递增,\(a_i\)递减由此可以进一步推出每一个点连接的出边,是下一层的一个区间,并且区间是单调的于是可以线段树优化建边,拿到60pts接着考虑模拟网络流,发现如果每次都选择第一条出边的话,就......
  • 初三选拔模拟赛题解
    目录T2T3T4T5T6T7给个正常的题解以正视听.不过说好的普及难度呢?如果有问题请指出.T2注意到答案一定可以取到最小区间的长度\(len\),一种方案是按\(0\dotslen-1\)循环填.T3大致有两种做法:维护每个手指的次数\(c_i\)和占用的键数\(t_i\),按\(\frac{c_i}{t_i+1}\)......
  • 1.21闲话暨模拟赛题解
    未卜先知推歌:二重变革/洛天依,言和byDELA上午写了模拟赛,下午不给我发代码不让我改题不让我看题面,smjb模拟赛一共9道题,4道原题(2道原题,2道"原"题),抛去3道不写的一共6道题T1「尘世闲游」(原神题)没让写T2「一心净土」(原神题&&原题「CF740C」)题解我这里一共找到......
  • CF1375B Neighbor Grid 题解
    题意简述给你一个$n$行$m$列的矩阵,要求你让这个矩阵是“完美”的。“完美”的定义如下:若当前的格子里是一个正整数$k$,那么与这个网格相邻(有公共边)的$k$个格子也必须有一个正整数。若当前的格子里是$0$,那么不受上述的限制。你可以对任意的一个格子加上$1$,次数......
  • P5362 [SDOI2019] 连续子序列 题解--zhengjun
    题面传送门提供一种和其他题解完全不同的解法。记\(P_0\)为题中给出的序列,\(P_1\)为\(P_0\)取反的结果。记\(S_{l\simr}\)表示\(S_lS_{l+1}\dotsS_{r}\)。方便起见,\(P\)下标从\(0\)开始,其余的串都是从\(1\)开始。这里用\(P_{0,i}=\operatorname{popcount(i)}......
  • Github图床搭建,结合Picgo与jsdelivr的免费cdn加速,以及部分问题解决方案
    留份文档,便于后续查询===================用到的地址:Github:GitHubPicgo:PicGoisHere|PicGojsdelivr加速地址:https://cdn.jsdelivr.net/gh/Github用户名/仓库名@master===================1.创建一个GitHub仓库:进入你的GitHub首页,在右上角你会找到一个➕,在下拉菜单中......
  • P7192 [COCI2007-2008#6] GEORGE 题解
    题目简述给定一张$n$个点$m$条边的无向图,从$u_i\rightarrowv_i$需要用时$w_i$分钟。有一位T先生从$0$时刻按有$g$个点的序列顺序移动,即$v_1\rightarrowv_2\rightarrow\cdots\rightarrowv_g$。还有一位卡车司机Luka从$k$时刻开始从$a$点出发,Luka不......
  • 洛谷 P9843 [ICPC2021 Nanjing R] Paimon Sorting 题解
    Descirption给出一个排序算法(用伪代码表示):SORT(A)forifrom1tonforjfrom1tonifa[i]<a[j]Swapa[i]anda[j]算出对于一个序列\(A=a_1,a_2,\cdots,a_n\)的所有前缀\(A_k=a_1,a_2,\cdots,a_k\)(\(1\lek\len\)),\(\operatorname{SORT}(A_......