博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA12169模运算
阅读量:5134 次
发布时间:2019-06-13

本文共 1071 字,大约阅读时间需要 3 分钟。

使用了模运算后,数字的范围不会超过模

 

这道题目可以首先估计时间复杂度,由于要枚举a,b,最多有100000000种情况,而每种情况最多需要计算T次,基本上算是一个o(N)的算法,时间上足够了

//我自己的思路是枚举所有的a 和 b//原来汝佳也是这么做的#include
#include
using namespace std;const int maxn = 250;int seq[maxn];int T;int M = 10001;void compute(){ for(int a = 0;a <= 10000;a++) { for(int b = 0;b <= 10000;b++) { int len = 2 * T; int ok = 1; for(int i = 2;i <= len;i = i + 2) { seq[i] = (a * seq[i - 1] + b) % M; if((i + 1 < len) && seq[i + 1] != (a * seq[i] + b) % M) { ok = 0; break; } } if(ok) return ; } }}int main(){ while(cin>>T) { memset(seq,0,sizeof(seq)); for(int i = 1;i <= 2 * T;i = i + 2) { cin>>seq[i]; } compute(); for(int i = 2;i <= 2 * T;i = i + 2) { cout<
<

 

转载于:https://www.cnblogs.com/TorettoRui/p/10491234.html

你可能感兴趣的文章
Bootstrap
查看>>
Node.js 连接 MySQL
查看>>
ACM-ICPC 2018 world final A题 Catch the Plane
查看>>
那些年,那些书
查看>>
面向对象六大基本原则的理解
查看>>
注解小结
查看>>
java代码编译与C/C++代码编译的区别
查看>>
Bitmap 算法
查看>>
转载 C#文件中GetCommandLineArgs()
查看>>
list control控件的一些操作
查看>>
精读《useEffect 完全指南》
查看>>
SNF快速开发平台MVC-EasyQuery-拖拽生成SQL脚本
查看>>
DrawerLayout实现双向侧滑
查看>>
MySQL入门很简单-触发器
查看>>
LVM快照(snapshot)备份
查看>>
绝望的第四周作业
查看>>
一月流水账
查看>>
数论四大定理
查看>>
npm 常用指令
查看>>
20几个正则常用正则表达式
查看>>