Codeforces Beta Round #55 (Div. 2)

http://codeforces.com/contest/59

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 1000005
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int main(){
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
string str;
cin>>str;
int big=,small=;
for(int i=;i<str.length();i++){
if(str[i]>='A'&&str[i]<='Z'){
big++;
}
else{
small++;
}
}
if(big<=small){
for(int i=;i<str.length();i++){
if(str[i]>='A'&&str[i]<='Z'){
str[i]+=;
}
cout<<str[i];
}
}
else{
for(int i=;i<str.length();i++){
if(str[i]>='a'&&str[i]<='z'){
str[i]-=;
}
cout<<str[i];
}
}
}

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 1000005
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int a[]; int main(){
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
cin>>n;
int ans=;
int sum=;
int ji=0x3f3f3f3f,ou=0x3f3f3f3f;
for(int i=;i<=n;i++){
cin>>a[i];
if(a[i]%&&a[i]<ji) ji=a[i];
if((a[i]%==)&&a[i]<ou) ou=a[i];
sum+=a[i];
}
if(sum%)cout<<sum<<endl;
else{
if(ji!=0x3f3f3f3f) cout<<sum-ji<<endl;
else cout<<<<endl;
}
}

C

模拟,找出前str.length()/2中,str[i]=='?'&&str[str.length()-1-i]=='?'的个数,然后贪心

 #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 1000005
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
map<char,int>mp;
string str;
cin>>n>>str;
int prex=,prey=;
int num=;
rep(i,,str.length()){
if(str[i]!='?')
mp[str[i]]=;
}
int len=str.length()+;
int L=len-;
len/=;
rep(i,,len){
if(str[i]=='?'&&str[L-i-]=='?') num++;
}
int k=n-mp.size();
rep(i,,len){
if(num<k){
cout<<"IMPOSSIBLE"<<endl;
return ;
}
if(i==L-i-){
if(str[i]=='?'){
if(num->=k){
if(mp['a']){
str[i]='a';
num--;
}
else{
str[i]='a';
mp['a']=;
num--;
k--;
}
}
else if(num->=k-){
int flag=;
rep(j,,){
if(mp[char(j+'a')]==){
mp[char(j+'a')]=;
num--;
k--;
str[i]=char(j+'a');
flag=;
break;
}
}
if(flag){
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
else{
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
}
else if(str[i]=='?'&&str[L-i-]!='?'){
str[i]=str[L-i-];
}
else if(str[i]!='?'&&str[L-i-]=='?'){
str[L-i-]=str[i];
}
else if(str[i]=='?'&&str[L-i-]=='?'){
prex=i,prey=L-i-;
if(num->=k){
if(mp['a']){
str[i]='a';
str[L-i-]='a';
num-=;
}
else{
mp['a']=;
k--;
num-=;
str[i]='a';
str[L-i-]='a';
}
}
else if(num->=k-){
int flag=;
rep(j,,){
if(mp[char(j+'a')]==){
mp[char(j+'a')]=;
k--;
num-=;
str[i]=char(j+'a');
str[L-i-]=char(j+'a');
flag=;
break;
}
}
if(flag){
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
else{
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
else if(str[i]!='?'&&str[L-i-]!='?'){
if(str[i]!=str[L-i-]){
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
}
// cout<<k<<endl;
// cout<<prex<<" "<<prey<<endl;
if(k==){
int flag=;
rep(i,,){
if(mp[char(i+'a')]==){
str[prex]=char(i+'a');
str[prey]=char(i+'a');
flag=;
break;
k--;
}
}
if(flag){
cout<<"IMPOSSIBLE"<<endl;
return ;
}
}
cout<<str<<endl;
}

D

模拟

 #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 1000005
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; int a[],b[];
int book[]; 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>>b[i];
rep(i,,*n) cin>>a[i];
int k;
cin>>k;
int pos=,group,pp=;
while(a[pos]!=k) pos++;
group=pos/+;
rep(i,,*(group-)) book[a[i]]=true;
rep(i,,*n) if(!book[b[i]]){
pp=i;break;
}
if(a[pos]!=b[pp]) sort(a,a+*n);
else{
int flag=-;
rep(i,*(group-),*group) if(i!=pos) flag=max(flag,a[i]);
sort(a,a+*group);
int pos=;
while(a[pos]!=flag) pos++;
sort(a+pos+,a+*n);
}
rep(i,,*n) if(a[i]!=k) cout<<a[i]<<" ";
}

E

用bfs找最短路,book[i][j]表示当前走到j,它的前一步是在i位置,然后book[i][j]记录的是它的前一步在队列中的位置

 #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 1000005
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef unsigned long long ull; vector<int>ve[];
int book[][];
int n,m,k;
set< pair<int,pair<int,int> > >se;
set< pair<int,pair<int,int> > >::iterator it; struct sair{
int pre,now,step;
}Q[]; int bfs(){
sair s,e;
s.pre=,s.now=,s.step=;
int L=,R=;
Q[R++]=s;
int u;
while(L<R){
s=Q[L++];
rep(i,,ve[s.now].size()){
u=ve[s.now][i];
if(!book[s.now][u]){
it=se.find(make_pair(s.pre,make_pair(s.now,u)));
if(it==se.end()){
e.pre=s.now;
e.now=u;
e.step=s.step+;
book[e.pre][e.now]=L-;
Q[R++]=e; if(u==n){
cout<<e.step<<endl;
return R-;
} }
}
}
}
return ;
} void dfs(int pos){
if(pos==) exit();
if(pos==){
cout<<Q[pos].now<<" ";
return;
}
dfs(book[Q[pos].pre][Q[pos].now]);
cout<<Q[pos].now<<" ";
} int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n>>m>>k;
int u,v;
rep(i,,m){
cin>>u>>v;
ve[u].pb(v);
ve[v].pb(u);
}
int w;
rep(i,,k){
cin>>u>>v>>w;
se.insert(make_pair(u,make_pair(v,w)));
}
int pos=bfs();
if(!pos) cout<<-<<endl;
else{
dfs(pos);
}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. li直接1px 像素的原因

    1.由于空白节点(多由于Enter造成),li不换行就可以解决问题. Internet Explorer会忽略节点之间生成的空白节点,其它浏览器不会忽略(可以通过检测节点类型,过滤子节点) 2.完美解 ...

  2. 池以及barrier简单

    用了下CyclicBarrier,注意线程池中的线程数量设置,还有就是DB连接的时候,需要考虑单个DB能承受的最大连接数目和每个连接上能同时打开的cursor等限制,需要时可以通过jstack查看堆栈 ...

  3. Spring事务异常rollback-only

    转自:https://blog.csdn.net/sgls652709/article/details/49472719 前言 在利用单元测试验证spring事务传播机制的时候出现了下面的异常: Tr ...

  4. 1005 继续(3n+1)猜想 (25 分)

    1005 继续(3n+1)猜想 (25)(25 分) - 过期汽水的博客 - CSDN博客https://blog.csdn.net/qq_40167974/article/details/80739 ...

  5. springboot 项目 注意事项

    SpringBoot出现下列错误. Your ApplicationContext is unlikely to start due to a @ComponentScan of the defaul ...

  6. [jQ]jQuery显式操作Checkbox,并用数组存储关联值的方案

    ---------------------------------------------------------------------------------------------------- ...

  7. KVM虚拟化技术(一)虚拟化简介

    一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个 ...

  8. SQL Server--存在则更新问题

    在博客园看到一篇讨论特别多的文章“探讨SQL Server并发处理存在就更新七种解决方案”,这种业务需求很常见:如果记录存在就更新,不存在就插入. 最常见的做法: BEGIN TRANSACTION ...

  9. Microsoft® SQL Server® 2012 功能包

    Microsoft® SQL Server® 2012 功能包 http://www.microsoft.com/zh-cn/download/details.aspx?id=29065 Micros ...

  10. Oracle Oracle数据库 迁移到 SQL Server上

    原地址:https://blog.csdn.net/LongtengGensSupreme/article/details/81355181