![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件项目管理作业-medium
文章平均质量分 63
wust_tanyao
这个作者很懒,什么都没留下…
展开
-
13 URAL1303 Minimal Coverage
给cnt条线段,要求覆盖[0,m],问能否覆盖,至少需要多少条线段。用贪心的想法,假设当前位置在now,那么此时添加一条线段使得左端点下次继续添加这样一条线段,使得右端点最远,左端点扫完所有线段,now的位置可以到达m,则有解,否则无解。#include#includeusing namespace std;struct node{ int l,r;原创 2015-05-02 20:51:16 · 646 阅读 · 0 评论 -
14 POJ3363 Annoying painting tool
给一个全0矩阵,每次你可以使得一个r*c的子矩阵01翻转,问是否可以通过这种操作使得矩阵变为题目给定的矩阵,最少需要多少次操作。可以发现,对于第一行第一个点,它只能通过翻转包含(1,1)这个点在内的矩阵才能变,也就是r*c的左上端点在(1,1)。通过至多一次操作,我们可以保证这个点可以达到目标状态。接着第二个点,我们首先不能影响第一个点,因此如果这个点与目标状态不同,我们只能以这个点为原创 2015-05-02 20:58:28 · 754 阅读 · 0 评论 -
11 URAL1025 Democracy in Danger
选择人数较少的m/2只队,每只队中半数人投票。#include#includeusing namespace std;int main(){ int i,n,ans,s[110]; while(~scanf("%d",&n)) { for(i=0;i<n;i++) scanf("%d",&s[i]); sort(s原创 2015-05-02 20:44:16 · 667 阅读 · 0 评论 -
12 POJ1477 Box of Bricks
题目保证有解,先求砖块数的平均数。再把多的部分移到缺的地方,答案就是多的部分的和。#includeint n,ans,sum,cas=1,avg,i,h[55];int main(){ while(~scanf("%d",&n)&&n) { sum=ans=0; for(i=0;i<n;i++) scanf("%d",&原创 2015-05-02 20:46:25 · 600 阅读 · 0 评论 -
15 UVA10982 Troublemakers
n个人,m对之间有关系,现在要把n个人分成两组,使得每组内,有关系的人的对数最少。我们可以有一个贪心的想法,对于每一个人,我们要么分在第一组,要么分在第二组。那么分在哪一组能够使得当前与我有关系的人最少,就分在哪一组。这样求得答案,满足题目要求即输出相应内容。#include#includebool e[105][105];int vis[105],T,n,m,i,j原创 2015-05-02 21:00:43 · 894 阅读 · 0 评论