百度之星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 ...
随机推荐
- git 操作分支
1. git 查看本地分支:git branch 2. git 查看所有分支:git branch -a 3. git 新建本地分支:git branch branchName 4. git 新建分支 ...
- MySQL 优化、设计规则浅谈
当数据量大,数据库相应慢时都会针对数据库进行优化.这时都是要针对具体情况,具体业务需求进行优化的. 但是有些步骤和规则应该适合各种情况的.这里综合网上找的资料简单分析一下. 第一优化你的sql和索引: ...
- rootkit基础
应用程序总是离不开系统内核所提供的服务,比如它要使用内存的时候,只要跟操作系统申请就行了,而不用自己操心哪里有空闲的内存空间等问题,实际上,这些问题是由操作系统的内核来代劳的.站在黑客的角度讲,如果能 ...
- nyist oj 37 回文字符串 (动态规划经典)
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描写叙述 所谓回文字符串,就是一个字符串.从左到右读和从右到左读是全然一样的.比方"aba".当 ...
- NorFlash linux分区分析
一般情况下,与板卡相关的内容都在bsp中(即arch/arm/mach-xxx/board-xxx.c)中,但norflash的分区直接放在norflash驱动中.由于norflash应用基于mtd, ...
- excel表格定义导入到powerdesigner脚本
打开powerdesigner,shift + ctrl + X 打开脚本窗口 输入执行的脚本,点 run 即可. 简单的导入Excel脚本 '开始 Option Explicit Dim mdl ' ...
- 【BZOJ4653】[Noi2016]区间 双指针法+线段树
[BZOJ4653][Noi2016]区间 Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含 ...
- 九度OJ 1167:数组排序 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5395 解决:1715 题目描述: 输入一个数组的值,求出各个值从小到大排序后的次序. 输入: 输入有多组数据. 每组输入的第一个数为数组的 ...
- 双缓冲类里的OnPaint与OnSize,以及构造函数的关系
代码摘自wx\lib\agw\knobctrl.py一点体会是,OnSize作为class的函数,被放在构造函数里执行,会先于OnPaint执行.测试结果是,初始启动后,会执行8次OnSize(为什么 ...
- table表格隔行变色
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...