Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)
A. Bark to Unlock
题目链接:http://codeforces.com/contest/868/problem/A
题目意思:密码是两个字符组成的,现在你有n个由两个字符组成的字符串,现在问是否可以用你手上的这些字符串通过拼接其中两个的基础上使得密码是这个拼接而成的字符串的子串,一个字符串可以使用多次,这意味这自己拼接自己也是可以的。
题目思路:暴力枚举这个过程,因为总共就n最大也就100
代码:
/* ***********************************************
Author :xiaowuga
Created Time :2017年10月05日 星期四 15时07分23秒
File Name :A.cpp
************************************************ */
#include <bits/stdc++.h>
typedef long long LL;
#define endl "\n"
#define inf 0x3f3f3f3f
const long long N=;
const long long mod=1e9+;
using namespace std;
int main(){
ios::sync_with_stdio(false);cin.tie();
string q;
cin>>q;
int n;
cin>>n;
string a[];
for(int i=;i<n;i++) cin>>a[i];
for(int i=;i<n;i++){
for(int j=i;j<n;j++){
string s=a[i]+a[j];
if(s.find(q)!=string::npos){
cout<<"YES"<<endl;
return ;
}
string ss=a[j]+a[i];
if(ss.find(q)!=string::npos){
cout<<"YES"<<endl;
return ;
}
}
}
cout<<"NO"<<endl;
return ;
}
B. Race Against Time
题目链接:http://codeforces.com/contest/868/problem/B
题目意思:现在时间停止了。给你一个时间,表示现在指针在钟面上的分布情况,问点a是否可以到达点b(如果点a无法到达b说明,不管a顺时针走还是逆时针走都是碰到指针,以至于无法到达B)。
题目思路:这个题目有一个坑点导致wa了很多人,就是比如十点四十五分三十秒,我们发现时针和秒针都不是在刚好整格的地方,这就说明这个题需要一个精度问题。所以我们把分针和秒针的贡献都算在时针上,秒针对分针的贡献算在分针上,然后看一下,如果是三个指针都在ab点之间就说明可以到达,否则不行。
代码:
/* ***********************************************
Author :xiaowuga
Created Time :2017年10月05日 星期四 15时37分27秒
File Name :B.cpp
************************************************ */
#include <bits/stdc++.h>
typedef long long LL;
#define endl "\n"
#define inf 0x3f3f3f3f
const long long N=;
const long long mod=1e9+;
using namespace std;
double a[]={,,,,,,,,,,,,};
int main(){
ios::sync_with_stdio(false);cin.tie();
int hh,tt1,tt2;
double m,s;
cin>>hh>>m>>s>>tt1>>tt2;
double h=a[hh]+1.0**m/+1.0**s/;
m=m+1.0*s/;
int t1=a[tt1];
int t2=a[tt2];
int c1=,c2=;
if(t1>t2) swap(t1,t2);
if(h>t1&&h<t2) c1++;
else c2++;
if(m>t1&&m<t2) c1++;
else c2++;
if(s>t1&&s<t2) c1++;
else c2++;
if(c1==||c2==) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return ;
}
C. Qualification Rounds
题目链接:http://codeforces.com/contest/868/problem/C
题目意思:有k个队伍n个题目,现在要从n个问题中找到一个子集,使得k个队伍中没有一个队伍会做这个子集中超过一半题目。
题目思路:只要出两个题目就可以了,把每道题的掌握情况压成一个十进制数,然后暴力枚举所有的数,看一下是否有两个数&在一起为0。保证会做其中一道题的一定不会做另一到题。
代码:
/* ***********************************************
Author :xiaowuga
Created Time :2017年10月05日 星期四 18时02分29秒
File Name :C.cpp
************************************************ */
#include <bits/stdc++.h>
typedef long long LL;
#define endl "\n"
#define inf 0x3f3f3f3f
const long long N=;
const long long mod=1e9+;
using namespace std;
int a[];
vector<int>b;
int main(){
ios::sync_with_stdio(false);cin.tie();
int n,k;
cin>>n>>k;
for(int i=;i<n;i++){
int sum=;
for(int j=;j<k;j++){
sum*=;
int t;
cin>>t;
sum+=t;
}
a[sum]++;
}
for(int i=;i<=(<<k);i++) if(a[i]) b.push_back(i);
if(b[]==){cout<<"YES"<<endl;return ;}
for(int i=;i<b.size()-;i++){
for(int j=i+;j<b.size();j++){
int t=b[i]&b[j];
if(!t){ cout<<"YES"<<endl;return ;}
}
}
cout<<"NO"<<endl;
return ;
}
Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)的更多相关文章
- D. Huge Strings Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)
http://codeforces.com/contest/868/problem/D 优化:两个串合并 原有状态+ 第一个串的尾部&第二个串的头部的状态 串变为第一个串的头部&第二个 ...
- Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combine
最近只想喊666,因为我是真得菜,大晚上到网吧打代码还是很不错的嘛 A. Bark to Unlock time limit per test 2 seconds memory limit per t ...
- Qualification Rounds(Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined)+状态压缩)
题目链接 传送门 题意 现总共有\(n\)个题目\(k\)支参赛队伍,已知每个题目各队伍是否会写,现问你能否从题目中选出一个子序列使得每支队伍最多只会写一半的题目. 思路 对于每个题目我们用二进制压缩 ...
- Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined) A,B,C【真的菜·】
8说了 #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ string s ...
- Codeforces Round #438 (Div.1+Div.2) 总结
本来兴致勃勃的想乘着这一次上紫,于是很早很早的到了机房 但是好像并没有什么用,反而rating-=47 Codeforces Round #438(Div.1+Div.2) 今天就这样匆匆的总结一下, ...
- Codeforces Round #438 B. Race Against Time
Description Have you ever tried to explain to the coordinator, why it is eight hours to the contest ...
- Codeforces Round #438 C. Qualification Rounds
Description Snark and Philip are preparing the problemset for the upcoming pre-qualification round f ...
- Codeforces Round #438 C - Qualification Rounds 思维
C. Qualification Rounds time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Codeforces Round #438 D. Huge Strings
Description You are given n strings s1, s2, ..., sn consisting of characters 0 and 1. m operations a ...
随机推荐
- ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)
我的原因是在配置文件my.ini [mysqld]项,在其后加入了一句:skip-name-resolve 导致授权出现这个错误,把skip-name-resolve这项屏蔽了就好了. 场景2:对所有 ...
- ubuntu下android源码的下载(最新)
在ubuntu下下载android源码我断断续续搞了好几个月,希望大家不要向我学习啊!一次性搞定! 这里给大家一些建议啊,如果是看书的话看下书的出版日期,超过一年的基本上失效,网上的也是,特别是在国内 ...
- R语言barplot绘图函数
barplot 函数用于绘制柱状图,下面对其常用的参数进行一个详细的解释: 1)height : 高度,通过这个参数可以指定要画多少个柱子以及每个柱子的高度,其值有两种格式, 第一种 :向量 vect ...
- Shader开发之三大着色器
固定功能管线着色器Fixed Function Shaders 固定功能管线着色器的关键代码一般都在Pass的材质设置Material{}和纹理设置SetTexture{}部分. Shader &qu ...
- Shell 获取Shell所在目录
SHELL_PATH=$(cd ")";pwd) echo $SHELL_PATH
- iperf/netperf网络性能测试工具、Wireshark网络包分析工具
iperf http://www.linuxidc.com/Linux/2014-05/101160.htm netperf http://www.linuxidc.com/Linux/2013 ...
- 【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】
当前版本:SimpleWaveView_v1.0.20140618 先看效果图,这个加速球是动态的,并且当调用了myView.setRefresh(0.8F);方法后可以从当前值动态降到0再升到80% ...
- parameter "timeout" in socketchannel does not work
// Accept the connection and make it non-blocking SocketChannel socketChannel = serverSocketChannel. ...
- 在你开发完brew应用之后 ,你又如果将brew应用由编译成可以部署到brew真机上的程序包呢
参考自:http://blog.csdn.net/feimor/article/details/6239281 一.准备工作(安装工具) 先安装Visual C++ 6.0,再安装BREW SDK v ...
- tiny6410的linux操作系统实验开发
---恢复内容开始--- 1.前期由于2440 的4.3寸屏太小.后来修改程序准备在tiny6410增强版的S70屏上用.但是前期移植再用yaffs的文件系统,但是6410是(MLC)的磁盘,根本就不 ...