百度之星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 ...
随机推荐
- MP4文件格式的解析,以及MP4文件的分割算法
http://www.cnblogs.com/haibindev/archive/2011/10/17/2214518.html http://blog.csdn.net/pirateleo/arti ...
- JS加水印遮罩
<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC & ...
- Matlab时频图
[b,f,t]=specgram(data,nfft,Fs,window,numoverlap); imagesc(t,f,20*log10(abs(b))), axis xy, colormap(j ...
- springcloud和kubernetes对比
由于这两个都不熟,所以在考虑学哪个. 先说结论:都要学,但是重点学k8s,k8s是一个更加完善的解决方案,springcloud被淘汰只是时间的问题. 从自己的经历和网上的文章两方面分析 个人经历: ...
- Git you are not allowed to push code to protected branches on this project?
error: You are not allowed to push code to protected branches on this project....error: failed to pu ...
- php总结4——数组的定义及函数、冒泡排序
4.1 数组的定义 数组:变量存储的有序序列. 索引数组:下标为数字的数组. $数组名称(下标) 下标从0开始的数字. 直接定义: $arr[0]=123; $arr[1]="chi ...
- python splinter chromedriver下载地址(国内可用)
http://chromedriver.storage.googleapis.com/index.html
- 素数筛总结篇___Eratosthenes筛法和欧拉筛法(*【模板】使用 )
求素数 题目描述 求小于n的所有素数的数量. 输入 多组输入,输入整数n(n<1000000),以0结束. 输出 输出n以内所有素数的个数. 示例输入 10 0 示例输出 4 提示 以这道题目为 ...
- jquery 用addClass之后 class有对应的事件,为什么要重新绑定一下事件呢
假设有元素A,B,C,其中A和B都有class属性cls,如果在页面加载完成时,给具有class属性为cls的元素绑定某一事件,例如click,执行事件时调用alert.也就是说,页面加载完成后A和B ...
- jquery.dataTables.min.js: Uncaught TypeError: Cannot read property 'style' of undefined
原因:datatable表格内容有操作列,而表头没有定义操作列 少写了一行:<th>操作</th>