百度之星2017初赛A
雪崩,没晋级,补题
分析:求n-1的约数个数
#include "iostream"
#include "cstdio"
#include "cstring"
#include "string"
#include "cmath"
using namespace std;
int T;
long long n;
long long rev(long long res){
long long t=sqrt(res);
long long cnt=;
if(t*t==res){
cnt=;
}
t--;
for(int i=;i<=t;i++){
if(res%i==)
cnt+=;
}
return cnt;
}
int main()
{
cin>>T;
while(T--){
cin>>n;
cout<<rev(n-)<<endl;
}
return ;
}
分析:对于小于2月29的,先判断再加1,其他的先加1在判断。注意如果是2月29号,必须是闰年才行,同时我们可以采用平年改天星期几向后移一天,闰年向后移两天的方法来统计。
#include "iostream"
#include "cstdio"
#include "cstring"
#include "string"
using namespace std;
int T;
//string s;
bool judge(int x){
if(x%==&&(x%!=||x%==))
return true;
return false;
}
int check(string h){
string res="";
res+=h[];
res+=h[];
res+=h[];
res+=h[];
string t="";
if(res<t)
return ;
else if(res==t)
return ;
else
return ;
}
int main()
{
cin>>T;
while(T--){
string s;
cin>>s;
int num=;
for(int i=;i<;i++){
num*=;
num+=(s[i]-'');
}
int t=;
if(check(s)==){
//int i=num,t=0;
while(){
if(judge(num)){
t+=;
}else t++;
num++;
if(t%==) break;
//num++;
}
}else if(check(s)==){
while(){
num++;
if(judge(num)){
t+=;
}else t++;
if(t%==) break;
}
}else{
while(){
num++;
if(judge(num)){
t+=;
if(t%==) break;
}else t++;
}
}
cout<<num<<endl;
}
return ;
}
分析:这题学到了一种巧妙的处理方法,在矩形的周围染一圈0。这样的话,联通块0是否和边界有连接可以很方便判断出来了,接下来就是判断1和0的联通块的数量。
#include "iostream"
#include "cstdio"
#include "cstring"
#include "string"
using namespace std;
const int maxn=+;
int n,m;
int vis[maxn][maxn],f[maxn][maxn];
int dx[]={-,,,};
int dy[]={,,-,};
void dfs(int x,int y){
vis[x][y]=;
for(int i=;i<;i++){
int nx=x+dx[i],ny=y+dy[i];
if(nx>=&&nx<=n+&&ny>=&&ny<=m+&&!vis[nx][ny]&&f[nx][ny]==f[x][y])
dfs(nx,ny);
}
}
int main()
{
while(cin>>n>>m){
memset(vis,,sizeof(vis));
memset(f,,sizeof(f));
for(int i=;i<=n;i++){
getchar();
for(int j=;j<=m;j++){
char ch;
scanf("%c",&ch);
if(ch=='')
f[i][j]=;
}
}
int zero=,one=;
for(int i=;i<=n+;i++){
for(int j=;j<=m+;j++){
if(!vis[i][j]){
if(f[i][j]==) zero++;
else one++;
dfs(i,j);
}
}
}
if(zero==&&one==) printf("");
else if(zero==&&one==) printf("");
else printf("-1");
printf("\n");
}
}
百度之星2017初赛A的更多相关文章
- 百度之星2017初赛A-1005-今夕何夕
今夕何夕 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 百度之星2017初赛A轮 1001 小C的倍数问题
小C的倍数问题 Accepts: 1990 Submissions: 4931 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- 百度之星2017初赛A-1006-度度熊的01世界
度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- 【比赛】百度之星2017 初赛Round B
第一题 题意:给定n*m网络,定义两个棋子在同行同列则相互攻击,同时要求两个棋子的行和列不能一小一大,求满足条件的最大摆放的方案数. 题解:ans=C(max(n,m),min(n,m)),就是在ma ...
- 【比赛】百度之星2017 初赛Round A
第一题 题意:给定多组数据P,每次询问P进制下,有多少数字B满足条件:只要数位之和是B的倍数,该数字就是B的倍数. 题解:此题是参考10进制下3和9倍数的特殊性质. 对于10进制,ab=10*a+b= ...
- 百度之星2017初赛B1006 小小粉丝度度熊
思路: 考虑到补签卡一定是连续放置才更优,所以直接根据起始位置枚举.预先处理区间之间的gap的前缀和,在枚举过程中二分即可.复杂度O(nlog(n)). 实现: #include <iostre ...
- 【百度之星2014~初赛(第二轮)解题报告】Chess
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载,可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- HDU - 6383 百度之星2018初赛B 1004 p1m2(二分答案)
p1m2 Accepts: 1003 Submissions: 4595 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072 ...
随机推荐
- freemark2pdf
freemarker+ITextRenderer 生成html转pdf 博客分类: ITextRenderer ITextRenderer 网上已经有比较多的例子 写这个 但是很多都是简单的 dem ...
- msgsnd的一个小问题
今天写了一个System V消息队列的小样例.定义了一个例如以下的结构体: #define MSG_SIZE 8192 struct request { long mtype; int client_ ...
- MySQL数据表导出某条记录
请按照步骤导出,否则可能会报错: ERROR (HY000): The MySQL server is running with the --secure-file-priv option so it ...
- SpringBoot学习——运行原理学习及自定义Starter pom
例如:pom文件 导入redis jar包 springboot怎么识别和集成? https://blog.csdn.net/flygoa/article/details/68484439 https ...
- Java提高(二)---- HashTable
阅读博客 java提高篇(二五)—–HashTable 这篇博客由chenssy 发表与2014年4月,基于源码是jdk1.7 ========================== 本文针对jdk1. ...
- spring4 maven3 mybatis
1 新建maven工程 http://www.cnblogs.com/quanyongan/archive/2013/04/21/3033838.html 如果在第三步中出现错误,比如类似: Coul ...
- python 基础 6.0 异常的常用形式
一. 异常 异常既是一个时间,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误.当python ...
- Flask,ORM及模板引擎Jinja2
跨域:http://blog.csdn.net/yannanxiu/article/details/53036508 下载flask_cors包 pip install flask-cors 使用fl ...
- grok表达式
grok表达式 grok其实就是封装了各种常用的正则表达式,屏蔽了直接写正则的复杂性:通过它可以提取日志内容,按照自己指定的格式输出到kibana. http://udn.yyuap.com/doc/ ...
- MongoDB API java的使用
1.创建一个MongoDB数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017. Mongo mongo=new Mongo(); 2.获得与某个数据库(例如“test”)的 ...