题目链接:http://codeforces.com/contest/431/problem/B

题目意思:给出5 * 5 的矩阵。从这个矩阵中选出合理的安排次序,使得happiness之和最大。当第i个人和第j个人talk 的时候,第i个人获得的happiness是g[i][j],第j 个人获得的happiness是g[j][i]。

好简单的一道题目,不知道昨晚徘徊好久都不敢打,五个for循环即可!数据量这么小......今天一次就过了...

谨以此来纪念自己的怯懦....

方法一:直接暴力枚举

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <cstring>
  5. using namespace std;
  6.  
  7. #define LL long long
  8. int g[][];
  9. LL ans;
  10.  
  11. int main()
  12. {
  13. for (int i = ; i <= ; i++)
  14. {
  15. for (int j = ; j <= ; j++)
  16. scanf("%d", &g[i][j]);
  17. }
  18. ans = ;
  19. for (int i = ; i <= ; i++)
  20. {
  21. for (int j = ; j <= ; j++)
  22. {
  23. if (i != j)
  24. {
  25. for (int k = ; k <= ; k++)
  26. {
  27. if (k != j && k != i)
  28. {
  29. for (int l = ; l <= ; l++)
  30. {
  31. if (l != k && l != i && l != j)
  32. {
  33. for (int p = ; p <= ; p++)
  34. {
  35. if (p != l && p != i && p != j && p != k)
  36. {
  37. // printf("i = %d, j = %d, k = %d, l = %d, p = %d\n", i, j, k, l, p);
  38. LL sum = g[i][j] + g[j][i] + g[j][k] + g[k][j] + * (g[l][p] + g[p][l] + g[k][l] + g[l][k]);
  39. ans = max(ans, sum);
  40. }
  41. }
  42. }
  43. }
  44. }
  45. }
  46. }
  47. }
  48. }
  49. printf("%lld\n", ans);
  50. return ;
  51. }

方法二:利用next_permutation (学人家代码写的)

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <algorithm>
  5. using namespace std;
  6.  
  7. #define LL long long
  8. const int maxn = ;
  9. int grid[maxn+][maxn+];
  10. int t[maxn];
  11. LL ans, tmp;
  12.  
  13. int main()
  14. {
  15. for (int i = ; i < maxn; i++)
  16. {
  17. for (int j = ; j < maxn; j++)
  18. scanf("%d", &grid[i][j]);
  19. }
  20. for (int i = ; i < maxn; i++)
  21. t[i] = i;
  22. ans = ;
  23. do
  24. {
  25. //0123: 01 talk 23 talk
  26. tmp = grid[t[]][t[]] + grid[t[]][t[]];
  27. tmp += grid[t[]][t[]] + grid[t[]][t[]];
  28. //1234: 12 talk 34 talk
  29. tmp += grid[t[]][t[]] + grid[t[]][t[]];
  30. tmp += grid[t[]][t[]] + grid[t[]][t[]];
  31. //23: 23 talk
  32. tmp += grid[t[]][t[]] + grid[t[]][t[]];
  33. //34: 34 talk
  34. tmp += grid[t[]][t[]] + grid[t[]][t[]];
  35.  
  36. ans = max(ans, tmp);
  37. }while (next_permutation(t, t+maxn));
  38. printf("%lld\n", ans);
  39. return ;
  40. }

codeforces B. Shower Line 解题报告的更多相关文章

  1. codeforces A. Cinema Line 解题报告

    题目链接:http://codeforces.com/problemset/problem/349/A 题目意思:题目不难理解,从一开始什么钱都没有的情况下,要向每一个人售票,每张票价格是25卢布,这 ...

  2. Codeforces Round 665 赛后解题报告(暂A-D)

    Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...

  3. Codeforces Round 662 赛后解题报告(A-E2)

    Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...

  4. Codeforces Round #277.5 解题报告

    又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...

  5. codeforces A. Dima and Continuous Line 解题报告

    题目链接:http://codeforces.com/problemset/problem/358/A 题目意思:在横坐标上给出n个不同的点,需要把前一个点跟后一个点(这两个点的顺序是紧挨着的)用一个 ...

  6. codeforces B. Simple Molecules 解题报告

    题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...

  7. 【LeetCode】149. Max Points on a Line 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典+最大公约数 日期 题目地址:https://l ...

  8. codeforces 591A. Wizards' Duel 解题报告

    题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...

  9. codeforces 582A. GCD Table 解题报告

    题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...

随机推荐

  1. 标准C程序设计七---01

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  2. 不拖控件的asp.net编程方法——第1回

    以前写的asp.net程序基本上都用了webfrom的控件编写的,当然有个好处就是易入门.快速效率高,但感觉自己这了几个小系统,还是没学到什么东西,感觉心里没底,因为都是封装好的东西,拿来就用的,功能 ...

  3. HDU4850 构造一个长度为n的串,要求任意长度为4的子串不相同

    n<=50W.(使用26个字母) 构造方法:26个,最多构造出26^4种不同的串,长度最长是26^4+3,大于是输出"impossble",用四维数组判重.每次向前构造一位( ...

  4. HDU 5893 List wants to travel(树链剖分+线段树)

    题目链接 HDU5893 $2016$年$ICPC$沈阳网络赛的$B$题.这道题其和 BZOJ2243 基本一样 那道题我也写了题解 点这里 两道题的区别就是$BZOJ$这题是点的权值,这道题是边权. ...

  5. File类 文件过滤器

    创建过滤器 package cn.zmh.File; import java.io.File; import java.io.FileFilter; // 实现FileFilter类的功能 publi ...

  6. Execption异常 手动和自动抛除异常

    package cn.zmh.Exception; /* * * try{ * 需要被检测的语句 * } * catch(异常类 变量){ * 异常的处理语句 * } * finally{ * 一定会 ...

  7. kafka-0.8.1.1总结

    文件夹 一.         基础篇 1.     开篇说明 2.     概念说明 3.     配置说明 4.     znode分类 5.     kafka协议分类 6.     Kafka线 ...

  8. 十步叫你如何无损修复硬盘锁(mbr病毒)

    经常看见有人被锁硬盘  开机以后出现一行红字 FUCK  YOU POJIEZHE  等等云云的 这个问题主要还是病毒对Mbr分区的修改造成的 下面我教给大家一个无损数据   无损硬盘  无需重装系统 ...

  9. 怎样改动X-code中的字体大小、颜色

  10. Solidworks工程图如何使用,替换图纸格式模板文件

    1 如果你有了图纸模板(SLDDRW文件),比如下面的这个文件,则以后把零件的三维图拖放到里面就可以了.注意,这是最简单,最有效的方法,后面另存为的slddrt文件不好使,所以还不如把模板文件另存为S ...