Codeforces_357B_Flag Day(贪心)
来源:互联网 发布:ucloud域名备案 编辑:程序博客网 时间:2024/04/28 05:19
题型:简单题
题意:
有n个演员表演m个舞蹈(n<3*m),一个舞蹈只有三个人表演,每个舞蹈中最多只能有一个人在先前表演过舞蹈。规定每个舞蹈的服装都要是三种颜色(1 for white, 2 for red, 3 for blue),问每个演员所穿衣服的颜色。
分析:
这个题目看上去很像染色问题,但事实上简单的多,因为有“每个舞蹈中最多只能有一个人在先前表演过舞蹈”这个条件,所以只需贪心就OK,第一场舞蹈的三个人颜色为1,2,3,然后以后的舞蹈中演员衣服三色就可以随便搞了,有条件限制的就换成其他颜色,木有条件限制的就颜色1,2,3了~
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;int color[123456];int main(){ int n,m; int a[3]; while(~scanf("%d%d",&n,&m)){ memset(color,0,sizeof(color)); for(int i=0;i<m;i++){ scanf("%d%d%d",&a[0],&a[1],&a[2]); if(i==0){ color[a[0]]=1; color[a[1]]=2; color[a[2]]=3; } else{ if(color[a[0]]!=0){ color[a[1]]=(color[a[0]]+1); color[a[2]]=(color[a[0]]+2); if(color[a[1]]>3) color[a[1]]-=3; if(color[a[2]]>3) color[a[2]]-=3; } else if(color[a[1]]!=0){ color[a[0]]=(color[a[1]]+1); color[a[2]]=(color[a[1]]+2); if(color[a[0]]>3) color[a[0]]-=3; if(color[a[2]]>3) color[a[2]]-=3; } else if(color[a[2]]!=0){ color[a[0]]=(color[a[2]]+1); color[a[1]]=(color[a[2]]+2); if(color[a[0]]>3) color[a[0]]-=3; if(color[a[1]]>3) color[a[1]]-=3; } else{ color[a[0]]=1; color[a[1]]=2; color[a[2]]=3; } } } for(int i=1;i<n;i++){ printf("%d ",color[i]); } printf("%d\n",color[n]); } return 0;}/*7 31 2 31 4 54 6 79 33 6 92 5 81 4 75 24 1 53 1 2*/
- Codeforces_357B_Flag Day(贪心)
- Day Five(贪心)
- NO2 两个贪心问题 (2th day)
- 1420 - Priest John's Busiest Day (贪心)
- One Day One Step 之贪心算法(1)
- UVA 1420 Priest John's Busiest Day(贪心)
- HDU 2491 Priest John's Busiest Day(贪心)
- Codeforces #332 C. Day at the Beach (贪心)
- hdoj--A Heavy Rainy Day(贪心好题)
- CodeForces 599 C. Day at the Beach(贪心)
- UVa 1420 Priest John's Busiest Day 解题报告(贪心)
- HDU2491(Priest John's Busiest Day)贪心
- uva 1420 - Priest John's Busiest Day(贪心)
- UVA 1420 - Priest John's Busiest Day 贪心
- UVALive - 4328 Priest John's Busiest Day 贪心
- 2016 Winter Training Day #1_C题_hdoj 1009(贪心)
- 函数(Day-5)
- 指针(Day-7)
- Lync 2010升级到Lync 2013 之 Lync 2010 前端服务器的删除!
- 缓存-ehcach使用以及simplepagecache的使用
- 百度面试总结
- Lync 2010升级到Lync 2013 之归档角色的删除!
- 开发中常见问题集锦
- Codeforces_357B_Flag Day(贪心)
- Extjs menu菜单怎么用
- 软件测试技能鉴定(模拟题)
- 安卓怎么限制横屏和竖屏
- hibernate 中fetch=FetchType.LAZY问题
- Android C2DM学习——云端推送(转载)
- Java:String和Date、Timestamp之间的转换
- 软件测试技能鉴定(模拟题)___含答案
- Poj 1650 & Zoj 1601 Integer Approximation (追赶法,分数逼近实数)