ACM-ICPC 2018 沈阳赛区网络预赛 K题
题目链接:
https://nanti.jisuanke.com/t/31452
AC代码(看到不好推的定理就先打表!!!!):
#include<bits/stdc++.h>
using namespace std;
# define maxn 40000+100
int a[maxn];
int b[maxn];
int ans=0;
char s[1000];
int c[maxn];
int ti=0;
void f()
{
memset(c,0,sizeof(c));
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
for(int i=2; i<=maxn; i++)
{
if(a[i])continue;
b[i]=1;
c[++ans]=i;
for(int j=i; j<=maxn; j+=i)
{
a[j]=1;
}
}
}
bool judge(int t)
{
int y=t;
int t1=0,t2=0,t3=0,t4=0,t5=0,t6=0;
int num=0;
int w[220];
memset(w,0,sizeof(w));
while(t)
{
int g=t%10;
w[++num]=g;
if(b[g]==0)return false;
t=t/10;
}
if(num==3)
{
t1=w[num]*10+w[num-1];
t2=w[num-1]*10+w[num-2];
t3=w[num-1]*10+w[num];
t4=w[num-2]*10+w[num-1];
t5=w[1]*10+w[3];
t6=w[3]*10+w[1];
}
if(t1!=0&&b[t1]==0)return false;
if(t2!=0&&b[t2]==0)return false;
if(t3!=0&&b[t3]==0)return false;
if(t4!=0&&b[t4]==0)return false;
if(t5!=0&&b[t5]==0)return false;
if(t6!=0&&b[t6]==0)return false;
printf("Case #%d: %d\n",++ti,y);
return true;
}
int main()
{
f();
b[1]=1;
int n;
scanf("%d",&n);
while(n--)
{
scanf("%s",s);
int len=strlen(s);
if(len>=4)printf("Case #%d: %d\n",++ti,317);
else
{
int temp=0;
for(int i=0; i<len; i++)
{
temp=temp*10+(s[i]-'0');
}
int t=lower_bound(c+1,c+ans+1,temp)-c;
if(c[t]!=temp)
{
t--;
for(int j=t; j>=1; j--)
{
if(judge(c[j]))break;
}
}
else
{
for(int j=t; j>=1; j--)
{
if(judge(c[j]))break;
}
}
}
}
return 0;
}
ACM-ICPC 2018 沈阳赛区网络预赛 K题的更多相关文章
- ACM-ICPC 2018 沈阳赛区网络预赛 K Supreme Number(规律)
https://nanti.jisuanke.com/t/31452 题意 给出一个n (2 ≤ N ≤ 10100 ),找到最接近且小于n的一个数,这个数需要满足每位上的数字构成的集合的每个非空子集 ...
- ACM-ICPC 2018 沈阳赛区网络预赛-K:Supreme Number
Supreme Number A prime number (or a prime) is a natural number greater than 11 that cannot be formed ...
- ACM-ICPC 2018 沈阳赛区网络预赛 K. Supreme Number
A prime number (or a prime) is a natural number greater than 11 that cannot be formed by multiplying ...
- ACM-ICPC 2018 焦作赛区网络预赛 K题 Transport Ship
There are NN different kinds of transport ships on the port. The i^{th}ith kind of ship can carry th ...
- 【ACM-ICPC 2018 沈阳赛区网络预赛 K】Supreme Number
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然每个数字只可能是1,3,5,7 然后如果3,5,7这些数字出现两次以上.显然两个3||5||7都能被11整除. 然后1的话最多能 ...
- Fantastic Graph 2018 沈阳赛区网络预赛 F题
题意: 二分图 有k条边,我们去选择其中的几条 每选中一条那么此条边的u 和 v的度数就+1,最后使得所有点的度数都在[l, r]这个区间内 , 这就相当于 边流入1,流出1,最后使流量平衡 解析: ...
- Made In Heaven 2018 沈阳赛区网络预赛 D题
求第k短路 模板题 套模板即可 #include <iostream> #include <cstring> #include <cstdio> #include ...
- ACM-ICPC 2018 沈阳赛区网络预赛 I 题 Lattice's basics in digital electronics
原题链接:https://nanti.jisuanke.com/t/31450 附上队友代码:(感谢队友带飞) #include <bits/stdc++.h> using namespa ...
- ACM-ICPC 2018 沈阳赛区网络预赛-D:Made In Heaven(K短路+A*模板)
Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with her. ...
随机推荐
- __add__运行过程
- poj1062昂贵的聘礼(枚举+最短路)
题意:就是一个点能够被另一个点取代,通过花费一定的金币,注意就是你和某个人交易了,如果这个人的等级和酋长的等级差的绝对值超过m,酋长就不会和你交易了: 思路:这里要注意到,我们最终的目的是找到一条最短 ...
- 两个序列求前k大和
---恢复内容开始--- 没有题目,没有题意,这是学长提过的一个技巧,给你两个排好序的序列,每次可以各从中取一个,求前k大的和, 一个优先队列,先将a序列中最大的那个和b序列所有元素相加存进队列中,每 ...
- GitHub && GitLab
1.github介绍 Git作为一个开源的分布式版本控制系统,已经被越来越多的人使用,随之需要的就是需要有个专门的地方存储.管理通过Git上传的项目,这就是gitHub gitHub是一个面向开源及私 ...
- day28 classmethod 装饰器
类方法装饰类方法 把一个方法变成类中的方法 之后调用此方法不需要对类实例化后在调用 直接通过类.方法即可调用 class Goods: __discount = 0.5 def __init__(se ...
- 向git添加和提交文件
状态 git status 可以知道有哪些文件被修改,哪些文件待提交 当前无待提交文件 分区 三个分区:工作区,缓存区,版本库 三个分区之间的联系: 工作区 >> git add > ...
- 【BZOJ4671】异或图(斯特林反演)
[BZOJ4671]异或图(斯特林反演) 题面 BZOJ Description 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出 ...
- python常见面试题(三)
问题1 到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 答案 下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行 ...
- BZOJ3235 [Ahoi2013]好方的蛇 【单调栈 + dp】
题目链接 BZOJ3235 题解 求出每个点为顶点,分别求出左上,左下,右上,右下的矩形的个数\(g[i][j]\) 并预处理出\(f[i][j]\)表示点\((i,j)\)到四个角的矩形内合法矩形个 ...
- /dev/null 2>&1 什么意思
在Unix中,标准输入设备 stdin是0, stdout 是1, stderr是 2. /dev/null 2>&1这样的写法意思是将标准输出和错误输出全部重定向到/dev/nu ...