Codeforces Beta Round #59 (Div. 2)

http://codeforces.com/contest/63

A

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 1000006
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; struct sair{
string name,v;
}a[]; int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
cin>>n;
rep(i,,n+){
cin>>a[i].name>>a[i].v;
}
rep(i,,n+){
if(a[i].v=="rat"){
cout<<a[i].name<<endl;
}
}
rep(i,,n+){
if(a[i].v=="woman"||a[i].v=="child"){
cout<<a[i].name<<endl;
}
}
rep(i,,n+){
if(a[i].v=="man"){
cout<<a[i].name<<endl;
}
}
rep(i,,n+){
if(a[i].v=="captain"){
cout<<a[i].name<<endl;
}
}
}

B

暴力模拟即可

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 1000006
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int n,k;
int a[];
int book[]; int main(){
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n>>k;
int ans=;
rep(i,,n+){
cin>>a[i];
}
a[]=-0x3f3f3f3f;
sort(a,a+n+);
int flag=;
while(flag){
flag=;
rep(i,,n+){
if(a[i]<k)
if(a[i]!=a[i-]){
book[i]++;
flag=;
}
}
rep(i,,n+) a[i]+=book[i],book[i]=;
sort(a,a+n+);
ans+=flag;
}
cout<<ans<<endl;
}

C

枚举1-9999的数,然后一个个判断,看看有几个符合条件

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 1000006
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int n;
struct sair{
int a,b,c;
}q[]; int main(){
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
#endif
// std::ios::sync_with_stdio(false);
cin>>n;
rep(i,,n) {
cin>>q[i].a>>q[i].b>>q[i].c;
}
int x,y,z;
int ans,num=;
rep(i,,){
int tmp=i;
int a,b,c,d;
a=tmp%,tmp/=;
b=tmp%,tmp/=;
c=tmp%,tmp/=;
d=tmp%;
if(a==b||a==c||a==d||b==c||b==d||c==d) continue;
int flag=;
rep(j,,n){
x=,y=,z;
tmp=q[j].a;
z=tmp%;
if(a==z) x++;
if(b==z) y++;
if(c==z) y++;
if(d==z) y++;
tmp/=;
z=tmp%;
if(b==z) x++;
if(a==z) y++;
if(c==z) y++;
if(d==z) y++;
tmp/=;
z=tmp%;
if(c==z) x++;
if(b==z) y++;
if(a==z) y++;
if(d==z) y++;
tmp/=;
z=tmp%;
if(d==z) x++;
if(b==z) y++;
if(c==z) y++;
if(a==z) y++;
if(x!=q[j].b||y!=q[j].c){
flag=;
break;
}
}
if(flag){
num++;
ans=i;
}
}
if(num==) cout<<"Incorrect data"<<endl;
else if(num==) printf("%04d\n",ans);
else cout<<"Need more data"<<endl;
}

D

通过多次模拟可以发现,只要走S形即可

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 1000006
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int field[][]; int main(){
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int a,b,c,d,n;
cin >> a >> b >> c >> d >> n;
for (int i=; i<; i++) {
for (int j=; j<; j++) {
field[i][j]=;
}
}
int party[]={};
for (int i=; i<n; i++) {
cin >> party[i];
}
for (int i=; i<max(b,d); i++) {
for (int j=; j<a+c; j++) {
if ((j<a&&i>=b)||(j>=a&&i>=d))field[i][j]='.';
}
}
int x=,y=,dx=;
if (((b>d)&&(d%==))||((d>b)&&(b%==))){
x=a+c-;dx=-;
}
for (int i=; i<n; i++) {
for (int j=; j<party[i]; j++) {
field[y][x]='a'+i;
if (x+dx<||x+dx>=a+c||field[y][x+dx]=='.') {
dx*=-;
y++;
} else {
x+=dx;
}
}
}
cout << "YES" << endl;
for (int i=; i<max(b,d); i++) {
for (int j=; j<a+c; j++) {
cout << char(field[i][j]);
}
cout << endl;
} }

E

一种类似博弈的题目,用状压表示每一种情况,然后搜索,找出Karlsson的必胜路径,找不到的话就是必败

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 1000006
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; const int N=,S=<<; int Next[][N]={{,,,,,,,N,,,,,N,,,,N,N,N},
{,,N,,,,N,,,,,N,,,,N,,,N},
{,,,,,,,,,,,N,,,,N,N,N,N}}; int dp[S],status=; int dfs(int now){
if(dp[now]) return dp[now];
rep(t,,){
rep(i,,N){
int tmp=now,p=i;
while(tmp&(<<p)){
tmp^=(<<p);
if(dfs(tmp)==){
return dp[now]=;
}
p=Next[t][p];
}
}
}
return dp[now]=;
} int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
char ch;
rep(i,,N){
cin>>ch;
if(ch=='.'||ch=='O'){
if(ch=='O'){
status+=(<<i);
}
}
else{
i--;
}
}
int flag=dfs(status);
if(flag==) cout<<"Karlsson"<<endl;
else cout<<"Lillebror"<<endl;
}

Codeforces Beta Round #59 (Div. 2)的更多相关文章

  1. Codeforces Beta Round #55 (Div. 2)

    Codeforces Beta Round #55 (Div. 2) http://codeforces.com/contest/59 A #include<bits/stdc++.h> ...

  2. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  3. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  4. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

  5. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

  6. Codeforces Beta Round #76 (Div. 2 Only)

    Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...

  7. Codeforces Beta Round #75 (Div. 2 Only)

    Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...

  8. Codeforces Beta Round #74 (Div. 2 Only)

    Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...

  9. Codeforces Beta Round #73 (Div. 2 Only)

    Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...

随机推荐

  1. 后台设计的基石:用户权限管理(RBAC)及工作流(workflow)模型

    后台产品同学在设计后台时,会发现一般后台的各个功能模块总结起来有两大类型:功能类.流程类.在设计功能或流程前都需要预判不同的使用角色对应不同权限,设计流程前则还得思考最基本的工作流原理. 用户权限是设 ...

  2. Spring boot 配置嵌入式Servlet容器

    SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 1.修改和server有关的配置(ServerProperties[也是EmbeddedServletContainerCust ...

  3. Spring boot 配置文件 加载顺序

    springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ – ...

  4. 网易云音乐api资料

    https://github.com/LanFD/music_163 网易云音乐常用API浅析:http://moonlib.com/606.html

  5. 使用curator框架简单操作zookeeper 学习笔记

    Curator 操作是zookeeper的优秀api(相对于原生api),满足大部分需求.而且是Fluent流式api风格. 参考文献:https://www.jianshu.com/p/70151f ...

  6. sourcetree 添加私钥

    参考网址: https://www.jianshu.com/p/2a4a39e3704f

  7. centos7,进程最大打开文件数 too many open files错误

    遇到一问题,tomcat最近发生几次异常,查看日志,发现一直报 too many open files,熟悉的同学都知道这是用户打开文件数过多导致的, 再用命令ls /proc/20861/fd/ | ...

  8. GC-ALLOC 的另一个重要作用,查内存泄漏

    平时我们用U3d profiler的Gc alloc 选项是为了查找一些动态的内存分配,多数是为了防止动态分配造成不定时的垃圾回收,形成CPU波峰. GC ALLOC 选项还可以用来查内存泄漏.

  9. Zabbix3.0版报警设置

    各项报警历史记录查看:“报表--Action log” ------------------------------------------------------------------------ ...

  10. LeetCode OJ 22. Generate Parentheses

    题目 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...