自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 22 poj2935 Basic Wall Maze --- bfs

对于每个点有四个方向可以走,把墙两边的点对应墙的方向能不能走给预处理一下,用vis[x][y][0..3]表示点(x,y)的该方向可不可以走。 然后bfs就好了,记录路径就把每个结点的前一个点记录下来,递归输出就可以了。 #include #include #include using namespace std; int dx[]={0,0,1,-1}; int dy[]=

2015-05-18 22:09:04 781

原创 15 UVA10982 Troublemakers

n个人,m对之间有关系,现在要把n个人分成两组,使得每组内,有关系的人的对数最少。 我们可以有一个贪心的想法,对于每一个人,我们要么分在第一组,要么分在第二组。 那么分在哪一组能够使得当前与我有关系的人最少,就分在哪一组。 这样求得答案,满足题目要求即输出相应内容。 #include #include bool e[105][105]; int vis[105],T,n,m,i,j

2015-05-02 21:00:43 886

原创 14 POJ3363 Annoying painting tool

给一个全0矩阵,每次你可以使得一个r*c的子矩阵01翻转,问是否可以通过这种操作使得矩阵变为题目给定的矩阵,最少需要多少次操作。 可以发现,对于第一行第一个点,它只能通过翻转包含(1,1)这个点在内的矩阵才能变,也就是r*c的左上端点在(1,1)。 通过至多一次操作,我们可以保证这个点可以达到目标状态。 接着第二个点,我们首先不能影响第一个点,因此如果这个点与目标状态不同,我们只能以这个点为

2015-05-02 20:58:28 747

原创 13 URAL1303 Minimal Coverage

给cnt条线段,要求覆盖[0,m],问能否覆盖,至少需要多少条线段。 用贪心的想法,假设当前位置在now,那么此时添加一条线段使得左端点 下次继续添加这样一条线段,使得右端点最远,左端点 扫完所有线段,now的位置可以到达m,则有解,否则无解。 #include #include using namespace std; struct node { int l,r;

2015-05-02 20:51:16 639

原创 12 POJ1477 Box of Bricks

题目保证有解,先求砖块数的平均数。 再把多的部分移到缺的地方,答案就是多的部分的和。 #include int 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 590

原创 11 URAL1025 Democracy in Danger

选择人数较少的m/2只队,每只队中半数人投票。 #include #include using 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 662

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除