Codeforces Beta Round #55 (Div. 2)
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)的更多相关文章
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #79 (Div. 2 Only)
Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...
- Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...
- Codeforces Beta Round #76 (Div. 2 Only)
Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...
- Codeforces Beta Round #75 (Div. 2 Only)
Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...
- Codeforces Beta Round #74 (Div. 2 Only)
Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...
- Codeforces Beta Round #73 (Div. 2 Only)
Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...
- Codeforces Beta Round #72 (Div. 2 Only)
Codeforces Beta Round #72 (Div. 2 Only) http://codeforces.com/contest/84 A #include<bits/stdc++.h ...
随机推荐
- 浅谈 volatile 的实现原理
在并发编程中我们一般都会遇到这三个基本概念:原子性.可见性.有序性.我们稍微看下volatile 原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行. ...
- html表单中get与post之间的区别
当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (Web Server). 一种方法是通过 URL,另外一种是在 HTTP Re ...
- python catch socket timeout
python catch socket timeout import socket try: # do something. except socket.timeout as e: # socket ...
- 尚硅谷redis学习2-redis的安装和HelloWorld
Reids: remote dictionary server redis特点:支持持久化,支持复杂数据类型,支持备份 下载: 解压: 执行make, make install 可能会需要安装make ...
- Lazarus的DBGrid中回车键的处理
Lazarus的DBGrid中回车键默认行为是向下移动一个记录,如果想对这一事件做处理,请不要在onkeypress里处理,而在onkeydown事件里处理.
- XML报错:The reference to entity "characterEncoding" must end with the ';' delimite
解决方法: 在web.xml增加如下配置: <filter> <filter-name>encodingFilter</filter-name> <fil ...
- 【BUG记录】记一次游戏越来越卡的BUG
U3D的MOBA项目,测试过程中,10分钟以后,游戏帧率开始缓慢下降,约3-5分钟后,由60帧下降到小于10帧,编辑器模式. 打开profiler,看到CPU占用非常高,每帧都有24K的GC, 时间占 ...
- unity 脚本说明
MonoBehavour void OnEnable(){ //OnEnable执行在Wake和之前 } void Awake(){ // } void Start(){ } void OnEnabl ...
- Haskell语言开发工具
Stack How to Script with Stack Originate Guides - Haskell Tool Stack 配置 Intellij Idea IntelliJ plugi ...
- 18.struts-执行流程.md
目录 1.流程 2.bean节点 3.package节点 result-type 拦截器 概念 拦截器和过滤器的异同: 问题:拦截器什么时候执行,action类和拦截器的执行顺序 4.常见问题 1.流 ...