标签:style blog http color 2014 for
A:
这是一道红果果的水题啊。。。。好坑爹。。。暴力一直不过。。。。WA了4遍呐。。。。。。时间过了1个小时后,打算用dfs写。。。浪费了好多脑细胞。。。大神2分钟就过了。。。我还要1个多小时才过。。。我还是太弱了。。。我是白痴。。。5555。。。今天一早知道了学姐的做法,奇行奇列和偶行偶列用B,其他的用W。。。。要是能想到果然很水。。。。哭晕在厕所惹。。。接下来俩种代码都贴一下吧。。。
//dfs
#include <stdio.h>
int n,m;
char a[105][105];
int limit(int x,int y)
{
if(x>=0&&x<n&&y>=0&&y<m&&a[x][y]=='.')
return 1;
return 0;
}
void dfs(int x,int y)
{
if(limit(x-1,y))
{
if(a[x][y]=='B')
a[x-1][y]='W';
else a[x-1][y]='B';
dfs(x-1,y);
}
if(limit(x+1,y))
{
if(a[x][y]=='B')
a[x+1][y]='W';
else a[x+1][y]='B';
dfs(x+1,y);
}
if(limit(x,y-1))
{
if(a[x][y]=='B')
a[x][y-1]='W';
else a[x][y-1]='B';
dfs(x,y-1);
}
if(limit(x,y+1))
{
if(a[x][y]=='B')
a[x][y+1]='W';
else a[x][y+1]='B';
dfs(x,y+1);
}
}
int main()
{
int i,j, ff;
while(~scanf("%d%d%*c",&n,&m))
{
for(i=0;i<n;i++)
gets(a[i]);
for(i=0;i<n; i++)
for(j=0;j<m; j++)
if(a[i][j]=='.')
{
a[i][j]='B';
dfs(i,j);
}
for(i=0;i<n;i++)
puts(a[i]);
}
return 0;
}//水过~~~代码亲测能过da~~
#include <stdio.h>
int main()
{
int n,m, i,j;
char a[105][105];
while(~scanf("%d%d%*c",&n,&m))
{
for(i=0;i<n;i++)
gets(a[i]);
for(i=0;i<n; i++)
{
for(j=0;j<m; j++)
{
if(a[i][j]=='.')
{
if((i%2&&j%2)||(i%2==0&&j%2==0))
printf("B");
else printf("W");
}
else printf("-");
}
printf("\n");
}
}
return 0;
}
B:
用并查集做的,先找有几个没有连在一起的,总的减去它,就是有最多种的化学药品能混在一起,再用2的次方就能求出最大危险值。
这只是我的理解,有什么错误请各位大神斧正~~~以下是代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int N,M;
int set[1005];
int temp;
int find(int x)
{
return set[x]=(set[x]==x?x:find(set[x]));
}
void merge(int a,int b)
{
for(int i=1;i<=N;i++)
{
int x=find(a),y=find(b);
if(x!=y)
{
set[x]=y;
temp--;
}
}
}
int main()
{
while(~scanf("%d%d",&N,&M))
{
int a,b;
temp=N-1;
for(int j=1;j<=N;j++)
{
set[j]=j;
}
for(int i=1;i<=M;i++)
{
scanf("%d%d",&a,&b);
merge(a,b);
}
printf("%.0lf\n",pow(2,N-temp-1));
}
return 0;
}
C:
C题真的要哭晕在厕所惹了啦~~~。。。草鸡大水题。。。。5555.就这么放过了。。。好讨厌啦。。。。。。主要是我英语渣。。。。不想看英语。英语和智商皆是硬伤啊。。。。。。说多了都是水啊。。。55555以下是代码
#include <cstdio>
#define N 517
double MAX(double a, double b)
{
return a>b?a:b;
}
int main()
{
int n, m;
int x[N];
int a, b, c;
while(~scanf("%d%d",&n,&m))
{
int i, j;
for(i = 1; i <= n; i++)
{
scanf("%d",&x[i]);
}
double max = 0, t;
for(i = 1; i <= m; i++)
{
scanf("%d%d%d",&a,&b,&c);
t =(double) (x[a]+x[b])/c;
max = MAX(max, t);
}
printf("%.15f\n",max);
}
return 0;
}
Codeforces Rounds #254 div2:A,B,C,布布扣,bubuko.com
Codeforces Rounds #254 div2:A,B,C
标签:style blog http color 2014 for
原文地址:http://blog.csdn.net/u012499003/article/details/37501253