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. Jquery 属性选择器&设置元素属性

    什么是属性选择器呢?感觉理解起来有点难,举个例子就很容易明白了,<div id="ajaxa"></div>这里的id就是属性,这下就很容易理解了, jqu ...

  2. day04-运算符

    Python语言支持以下类型的运算符: 算术运算符比较运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符 算术运算符 运算符 描述 实例 + 加 - 两个对象相加 10+20输出结果 30 - 减 ...

  3. treeMap 基于JDK 1.8的学习

    困惑了很久的红黑树========来个了断吧 本文主要是为了描述旋转的原则,所以,至于红黑树的数据结构,红黑树的基本准则,不在强调,,红黑树困惑的就是这旋转的过程.!!! 画红黑树很简单的画图工具: ...

  4. sublime text3:快捷键

    1.就近选择相同项:ctrl+d,按住ctrl,然后多次按d,就不断往下选择相同项 2.选择所有匹配项:alt+f3,一次性选中所有匹配项 3.ctrl+shift+a:在html中同时按这三个键,则 ...

  5. ThinkPHP子类继承Controller类的注意事项

    在实际的开发中,往往有很多子类都继承自同一个父类,然后该父类再继承自框架内置类的需求. 比如: class Init extends Controller{...} class son1 extend ...

  6. C#项目单步调试莫名结束问题

    今天在调试一个问题时,单步跟踪,走到某一步时突然跳出了调试,后面很多断点一个都不进来. 经过更细致的一步步调试(进入每个函数查看),定位到如下一段代码有问题: 原因是:size = 3,buff_id ...

  7. 【387】Python format 格式化函数

    参考:Python format 格式化函数 # 保留小数点后两位 f'{3.1415926:.2f}' # 带符号保留小数点后两位 f'{3.1415926:+.2f}' f'{-1:+.2f}' ...

  8. ArcGIS案例学习笔记-聚类点的空间统计特征

    ArcGIS案例学习笔记-聚类点的空间统计特征 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于聚集点,根据分组字段case field,计算空间统计特征 ...

  9. C# 指定平台编译项目

    如CefSharp就需要指定平台,项目为Any CPU时,无法编译,总会提示出错. 如: CefSharp.Common contains unmanaged resoures, set your p ...

  10. vue 异步请求

    摘自 ECMAScript 6 简介: 大家习惯将 ECMAScript 6.0 简称为 ES6,它是 Javascript 语言的下一代标准,它的目标,是使得 Javascript 语言可以用来编写 ...