2334. 【NOIP普及组T2】战斗 
(File IO): input:fight.in output:fight.out

时间限制: 1000 ms  空间限制: 524288 KB

开始贴图:。。。

题目:

输入:

输出:

样例:

范围:

思路:

这道题很猥琐,很容易想到贪心,很容易贪错。我们只要排个序,然后从大的往小的模拟牵线。是个人就能想出来。(可惜在下非人也!!!)然后你就成功的只拿了一半的分。。。。。。

(ノ=Д=)ノ┻━┻      咻~。。。嘭~~

然而你只要在每次牵线后再排一次就可以了(数据很小,没有关系)我们来给个数据:

1 6 4 2 2 2 2 2

牵线后会变成->0 1 1 1 1 2

按常规方法来做->0 0 0 1 1 2->0 0 0 0 0 2;

不行,但动动脑子就可以看出这是可以弄完的。我们只要保证大的一定先被排完就可以了,所以再加个sort。

上代码!!!

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstdio>
  4. using namespace std;
  5. int t,k=,n,sum=,g=;
  6. int a[];
  7. bool cmp(int x,int y)
  8. {
  9. return x>y;
  10. }
  11. int main()
  12. {
  13. //freopen("fight.in","r",stdin);
  14. //freopen("fight.out","w",stdout);
  15. cin>>t;
  16. while(k<=t)
  17. {
  18. cin>>n;
  19. for(int i=;i<=n;i++)
  20. {
  21. cin>>a[i];
  22. sum+=a[i];
  23. }
  24. sort(a+,a++n,cmp);
  25. for(int i=;i<=n;i++)
  26. {
  27. for(int j=i+;j<=n;j++)
  28. {
  29. if(a[j]!=&&a[i]!=)
  30. {
  31. a[i]--;
  32. a[j]--;
  33. sum-=;
  34. }
  35. else if(a[i]==)
  36. break;
  37. }
  38. sort(a+g,a+n+,cmp);
  39. g++;
  40. }
  41. if(sum!=)
  42. cout<<"NO"<<endl;
  43. else
  44. cout<<"YES"<<endl;
  45. k++;
  46. sum=;
  47. g=;
  48. }
  49. }

完结撒花!!!

普及C组第三题(8.13)的更多相关文章

  1. 普及C组第三题(8.10)

    2301. [普及组T3或T4]线索 (File IO): input:assassin.in output:assassin.out 时间限制: 1000 ms  空间限制: 262144 KB 题 ...

  2. 普及C组第三题(8.12)

    2304. 光芒 (File IO): input:light.in output:light.out 时间限制: 1000 ms  空间限制: 题目: 输入: 输出: 样例输入 5 1 1 0 1 ...

  3. NOIP 2008提高组第三题题解by rLq

    啊啊啊啊啊啊今天已经星期三了吗 那么,来一波题解吧 本题地址http://www.luogu.org/problem/show?pid=1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们 ...

  4. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0 ...

  5. 最优贸易 NOIP 2009 提高组 第三题

    题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个 城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路 ...

  6. 第六届蓝桥杯java b组第三题

    第三题 三羊献瑞 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容. 答案这个题目完全可以使用暴 ...

  7. 【动态规划】Vijos P1104 采药(NOIP2005普及组第三题)

    题目链接: https://vijos.org/p/1104 题目大意: T时间,n个物品,每个耗时ti,可获得收益ci,求最大收益. 题目思路: [动态规划] 01背包裸题.一维二维都过了,放个一维 ...

  8. 【递归】Vijos P1132 求二叉树的先序序列(NOIP2001普及组第三题)

    题目链接: https://vijos.org/p/1132 题目大意: 给定二叉树的中序和后序遍历,求该二叉树先序遍历. 题目思路: [递归] 这题妥妥递归. 二叉树先序根左右,中序左根右,后序左右 ...

  9. 【单调队列】Vijos P1771 瑞士轮 (NOIP2011普及组第三题)

    题目链接: https://vijos.org/p/1771 题目大意: 给定2N个人(N<=100 000)和其初始分数.能力值(能力两两不同),比赛M次(M<=50),每次PK都是按分 ...

随机推荐

  1. Android列表类视图之基本适配器BaseAdapter

    说到列表视图,不难联想到前面提到过的数组适配器,但是数组适配器只能搭建文本选择项,扩展能力并不强,Android提供了一种适应性更强的基本适配器BaseAdapter,该适配器允许开发者在别的代码中进 ...

  2. 剑指offer-面试题21-调整数组顺序使奇数位于偶数前面-双指针

    /* 题目: 调整数组顺序使奇数位于偶数前面. */ /* 思路: 双指针: 一个指针last用于遍历,当为奇数时+1, 当为偶数时,交换last和pre指向的值,向前移动pre指针. */ #inc ...

  3. Java中的isEmpty方法、null以及""的区别

    本文转自:https://blog.csdn.net/peng86788/article/details/80885814 这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证 ...

  4. TP框架中生成带背景带文字的二维码

    首先下载一个phpqrcode的包放到/vendor目录下 链接:https://pan.baidu.com/s/18jV9DypYB_PHDhD6C0iedQ 提取码:qxuo 如果只是单纯生成二维 ...

  5. 按钮控制彩灯实验 CSU - 1770 树状数组 差分变单点修改

    #include<iostream> #include<algorithm> #include<cstring> using namespace std; ; in ...

  6. python三器

    1.1 装饰器 1.装饰器的作用 1. 装饰器作用:本质是函数(装饰其他函数)就是为其他函数添加其他功能 2. 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 ...

  7. [CF1303A] Erasing Zeroes

    Solution 找到边界然后循环扫一遍数个数即可 #include <bits/stdc++.h> using namespace std; int n; const int N = 1 ...

  8. 修改video样式代码

    /*video::-webkit-media-controls-fullscreen-button {display: none; //更改是否显示全屏按钮}*//*video::-webkit-me ...

  9. Leetcode Week4 Find Minimum in Rotated Sorted Array II

    Question Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforeha ...

  10. 模拟退火SA刷题记录

    洛谷P1337 [JSOI2004]平衡点 / 吊打XXX 基本上是照着别人的代码写的,模拟退火为什么一定能找到答案呢...迷惑,,有时间搜一搜证明啥的 sa步骤:这个是要确定一个(xi,yi)使得函 ...