昨天晚上实在是=_=困。。。(浪了一天)就没有去打Codeforces

中午醒来看看题,还不太难。

A题:模拟(水题 3minAC)

// by Sirius_Ren
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[6],sum=0,ans;
bool cmp(int a,int b){return a>b;}
int main()
{
for(int i=1;i<=5;i++)scanf("%d",&a[i]),sum+=a[i];
ans=sum;
sort(a+1,a+6,cmp);
for(int i=1;i<=5;i++)
for(int j=1;j<=2;j++){
if(a[i]!=a[i+j])break;
ans=min(ans,sum-a[i]-a[i]);
if(j==2)ans=min(ans,sum-a[i]-a[i]-a[i]);
}
printf("%d",ans);
}



B:(水题 5minAC)

// by Sirius_Ren
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,a,ans=0;
bool v[105];
int main(){
scanf("%d%d",&n,&a);
for(int i=1;i<=n;i++)scanf("%d",&v[i]);
for(int i=0;i<=n;i++){
if(a-i>0&&a+i<=n&&v[a-i]&&v[a+i]&&i)ans+=2;
else if(a-i>0&&a+i<=n&&v[a-i]&&v[a+i]&&!i)ans++;
else if(a-i<=0&&a+i<=n&&v[a+i])ans++;
else if(a-i>0&&a+i>n&&v[a-i])ans++;
}
printf("%d",ans);
}



C:一道数学题。

枚举50以内的素数,最后判断有没有i*i(i^2<50)的即可。

一个yes—>素数

否则—->合数

// by Sirius_Ren
#include <cstdio>
#include <iostream>
using namespace std;
int a[20]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,4,8,9,25,49},ans=0;
char s[20][5];
int main()
{
for(int i=0;i<20;i++){printf("%d\n",a[i]);fflush(stdout);scanf("%s",s[i]);}
for(int i=0;i<20;i++)if(s[i][0]=='y')ans++;
if(ans>=2)printf("composite\n");
else printf("prime\n");
}

(呃其实没有“8”,当时多打了一个,不过也没关系,AC就是王道)



D:

http://www.cnblogs.com/macinchang/p/5572070.html

照着他的题解写得。 没有什么思路。。。。

// by Sirius_Ren
#include <cstdio>
#include <algorithm>
using namespace std;
long long a;
long long p(long long x){return x*x*x;}
pair<int,long long>b;
void w(long long x,int y,long long z){
if(!x){b=max(b,make_pair(y,z));return;}
long long t=1;
while(p(t+1)<=x)++t;
w(x-p(t),y+1,z+p(t));
if(x)w(p(t)-1-p(t-1),y+1,z+p(t-1));
}
int main(){
scanf("%I64d",&a),w(a,0,0);
printf("%d %I64d",b.first,b.second);
}



E:第10个点WA了,并不知道怎么改。 大数据挂了。。。

// by Sirius_Ren
#include <set>
#include <queue>
#include <cstdio>
#include <algorithm>
#define ff(aa,bb,cc,dd) for(int i=aa;i<=bb;i++)for(int j=cc;j<=dd;j++)
#define f(aa,bb) for(int i=aa;i<=bb;i++)
using namespace std;
set<int>s;
queue<int>que;
set<int>::iterator it;
int n,k,tot=0,jy,vis[501][501],v[500000],q[500000],ans=0,Q=0;
char xx[]={1,-1,0,0},yy[]={0,0,1,-1},a[501][501];
void Dfs(int x,int y){
jy++,vis[x][y]=tot;
f(0,3)if(!vis[x+xx[i]][y+yy[i]]&&a[x+xx[i]][y+yy[i]]=='.')Dfs(x+xx[i],y+yy[i]);
}
void dfs(int x,int y)
{
while(!que.empty())s.erase(que.front()),que.pop();
for(int i=0;i<k;i++)
if(vis[x+i][y-1])
{
q[vis[x+i][y-1]]--;
if(!q[vis[x+i][y-1]])s.erase(vis[x+i][y-1]);
}
else if(a[x+i][y-1]=='X')jy--;
for(int i=0;i<k;i++)
if(vis[x+i][y+k-1])
{
if(!q[vis[x+i][y+k-1]])s.insert(vis[x+i][y+k-1]);
q[vis[x+i][y+k-1]]++;
}
else if(a[x+i][y+k-1]=='X')jy++;
for(int i=0;i<k;i++)if(vis[x-1][y+i]&&s.find(vis[x-1][y+i])==s.end())s.insert(vis[x-1][y+i]),que.push(vis[x-1][y+i]);
for(int i=0;i<k;i++)if(vis[x+k][y+i]&&s.find(vis[x+k][y+i])==s.end())s.insert(vis[x+k][y+i]),que.push(vis[x+k][y+i]);
for(int i=0;i<k;i++)if(vis[x+i][y-1]&&s.find(vis[x+i][y-1])==s.end())s.insert(vis[x+i][y-1]),que.push(vis[x+i][y-1]);
for(int i=0;i<k;i++)if(vis[x+i][y+k]&&s.find(vis[x+i][y+k])==s.end())s.insert(vis[x+i][y+k]),que.push(vis[x+i][y+k]);
int temp=jy;
for(it=s.begin();it!=s.end();it++)temp+=v[*it];
ans=max(ans,temp);
if(y+k<=n)dfs(x,y+1);
for(int i=0;i<k;i++)
if(vis[x+i][y-1])
{
if(!q[vis[x][i-1]])s.insert(vis[x][i-1]);
q[vis[x][i-1]]++;
}
else if(a[x+i][y-1]=='X')jy++;
for(int i=0;i<k;i++)
if(vis[x+i][y+k-1])
{
q[vis[x+i][y+k-1]]--;
if(!q[vis[x+i][y+k-1]])s.erase(vis[x+i][y+k-1]);
}
else if(a[x+i][y+k-1]=='X')jy--;
if(x+k<=n&&y==1)
{
for(int i=1;i<k;i++)
{
if(vis[x][i])
{
q[vis[x][i]]--;
if(!q[vis[x][i]])s.erase(vis[x][i]);
}
else if(a[x][i]=='X')jy--;
}
for(int i=1;i<k;i++)
{
if(vis[x+k][i])
{
q[vis[x+k][i]]++;
}
else if(a[x+k][i]=='X')jy++;
}
dfs(x+1,1);
}
}
int main(){
scanf("%d%d",&n,&k);
ff(1,n,0,n)scanf("%c",&a[i][j]);
ff(1,n,1,n)if(!vis[i][j]&&a[i][j]=='.')jy=0,tot++,Dfs(i,j),v[tot]=jy;
jy=0;
ff(1,k,1,k-1)
if(a[i][j]=='X')jy++;
else{
if(!q[vis[i][j]])s.insert(vis[i][j]);
q[vis[i][j]]++;
}
dfs(1,1);
printf("%d",ans);
}



E题已挂。

CodeForces 680A&680B&680C&680D Round#356的更多相关文章

  1. Codeforces Round #356 (Div. 2)-B

    B. Bear and Finding Criminals 链接:http://codeforces.com/contest/680/problem/B There are n cities in B ...

  2. Codeforces Round #356 (Div. 2)-A

    A. Bear and Five Cards 题目链接:http://codeforces.com/contest/680/problem/A A little bear Limak plays a ...

  3. Codeforces Round #356 (Div. 2) C. Bear and Prime 100(转)

    C. Bear and Prime 100 time limit per test 1 second memory limit per test 256 megabytes input standar ...

  4. Codeforces Round #356 (Div. 2)B. Bear and Finding Criminals(水题)

    B. Bear and Finding Criminals time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  5. Codeforces Round #356 (Div. 2)A. Bear and Five Cards(简单模拟)

    A. Bear and Five Cards time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. 并查集+bfs+暴力滑窗 Codeforces Round #356 (Div. 2) E

    http://codeforces.com/contest/680/problem/E 题目大意:给你一个n*n的图,然后图上的 . (我们下面都叫做‘点’)表示可以走,X表示不能走,你有如下的操作, ...

  7. dfs Codeforces Round #356 (Div. 2) D

    http://codeforces.com/contest/680/problem/D 题目大意:给你一个大小为X的空间(X<=m),在该空间内,我们要尽量的放一个体积为a*a*a的立方体,且每 ...

  8. Codeforces Round #356 (Div. 1) D. Bear and Chase 暴力

    D. Bear and Chase 题目连接: http://codeforces.com/contest/679/problem/D Description Bearland has n citie ...

  9. Codeforces Round #356 (Div. 2) E. Bear and Square Grid 滑块

    E. Bear and Square Grid 题目连接: http://www.codeforces.com/contest/680/problem/E Description You have a ...

随机推荐

  1. CAD插入jpg

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  2. B+树知识点

    B+树介绍   目录 B+树 B+树的插入操作 B+树的删除操作 回到顶部 B+树 B+树和二叉树.平衡二叉树一样,都是经典的数据结构.B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也 ...

  3. 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等

    有的时候自己写的私下的个人小页面 里面有些自己的小秘密 或者别的东西 不想人别人审查元素看见 所以我提供了一段不让别人审查元素的代码(我个人比较喜欢弄有意思的东西  喜欢玩 ) //屏蔽右键菜单doc ...

  4. Haproxy 【转载】

    一.HAProxy简介 (1)HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProx ...

  5. Error: Registry key 'Software\JavaSoft\Java Runtime has value '1.8', but '1.7' is

    cmd下输入 java命令时出现该错误: Error: Registry key 'Software\JavaSoft\Java Runtimehas value '1.8', but '1.7' i ...

  6. HDU - 5894 Pocky(概率)

    HDU5894—Pocky Problem Description: Let’s talking about something of eating a pocky. Here is a Decore ...

  7. win10 Ubuntu子系统安装&odoo10社区版安装

    参考文档: http://www.cnblogs.com/odoouse/p/5995603.html https://www.jianshu.com/p/58090215bda8 一.win10 U ...

  8. 用 console.time()和 console.timeEnd() 测试你的 javascript 代码执行效率

    无意中学习到了一种测试 javascript 代码执行效率的一种方法,就记下来便于以后使用,用到了console对象中的  time  和  timeEnd  方法 . console.time('m ...

  9. CentOS 7.3降低内核版本为7.2

    查看当前内核版本: [root@nineep ~]# uname -r 2.3.10.0-514.2.2.el7.x86_64  查看当前发行版本: [root@nineep ~]# cat /etc ...

  10. 洛谷——P2347 砝码称重

    https://www.luogu.org/problem/show?pid=2347#sub 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输 ...