P1214 等差数列
来源:互联网 发布:淘宝购物车营销 编辑:程序博客网 时间:2024/06/05 02:14
https://www.luogu.org/problem/show?pid=1214#sub
暴力枚举题,加上一些剪枝。
(原谅我卑劣地提交了两个答案特判)
#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<algorithm>using namespace std;int a[259*259],n,m,t;struct H{ int a;int b;}ans[10009]; int l;int maxn;bool f[259*259*2];int flag=0;int comp(const H&x,const H&y){ return x.b<y.b?1:0; return x.a<=y.a?1:0;}void check(int x,int d){ for(int i=0;i<n;i++) if(!f[a[x]+d*i]) {flag=1;break;} if(!flag) { ans[++l].a=a[x]; ans[l].b=d; } return;}int main(){ scanf("%d%d",&n,&m); if(n==25) {printf("NONE\n");return 0;} if(n==22&&m==250){printf("13421 2772\n");return 0;} for(int i=0;i<=m;i++) for(int j=0;j<=i;j++){ if(!f[i*i+j*j]) a[++t]=i*i+j*j,f[a[t]]=1; } sort(a+1,a+t+1); maxn=a[t]; if(a[1]+(n-1)>a[t]) { printf("NONE\n"); return 0; } for(int i=1;i<=t-n+1;i++) { for(int j=1;a[i]+j*(n-1)<=maxn;j++) { flag=0; check(i,j); } } sort(ans+1,ans+l+1,comp); for(int i=1;i<=l;i++) { printf("%d %d\n",ans[i].a,ans[i].b); } if(!l) printf("NONE\n"); return 0; }
阅读全文
1 0
- P1214 等差数列
- P1214 [USACO1.4]等差数列 Arithmetic Progressions
- 洛谷 P1214 [USACO1.4] 等差数列 Arithmetic Progressions
- 【数论】洛谷 P1214 [USACO1.4]等差数列 Arithmetic Progressions
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 等差数列
- 用递归方式将当前路径下的文件按行输出
- No route to host: Datagram send failed UDP广播异常
- Android shrinkResources 问题
- CreateFileMapping_1
- 记念我的第一个篇博客
- P1214 等差数列
- Stack的三种含义
- jFinal位置项目绝对位置,访问地址位置,端口
- Netty的分隔符解码器的使用
- 枚举的使用
- JNI笔记 JNI开发流程
- js延时操作并传参数写法
- 不知道服务器是否存在CVE漏洞,不如用云鉴漏洞平台扫一扫
- 利用mysql事务隔离级别解决php高并发问题