zoukankan      html  css  js  c++  java
  • 紫书 例题 10-2 UVa 12169 (暴力枚举)

    就是暴力枚举a, b然后和题目给的数据比较就ok了。

    刘汝佳这道题的讲解有点迷,书上讲有x1和a可以算出x2, 但是很明显x2 = (a * x1 +b)

    没有b怎么算x2?然后我就思考了很久,最后去看他的代码发现他的代码和他讲的是两回事

    他的代码里直接是枚举a和b,不是按照书上的思路来的。

    有点迷

    #include<iostream>
    #define REP(i, a, b) for(int i = (a); i < (b); i++)
    using namespace std;
    
    const int MAXN = 212;
    const int M = 10001; 
    int x[MAXN], T;
    
    void solve()
    {
    	REP(a, 0, M)	
    		REP(b, 0, M)
    		{
    			bool ok = true;
    			for(int i = 2; i <= 2 * T; i += 2)
    			{
    				x[i] = (a * x[i-1] + b) % M;
    				if(i + 1 <= 2 * T && x[i+1] != (a * x[i] + b) % M) { ok = false; break; }
    			}
    			if(ok) return;
    		}	
    }
    
    int main()
    {
    	while(~scanf("%d", &T))
    	{
    		for(int i = 1; i <= 2 * T - 1; i += 2) scanf("%d", &x[i]);
    		solve();
    		for(int i = 2; i <= 2 * T; i += 2) printf("%d
    ", x[i]);
    	}
    	return 0;
    }


  • 相关阅读:
    异常处理、网络编程
    内置函数、反射、__str__、__del__、元类
    tomcat 拒绝服务
    html标签
    google 与服务器搭建
    liunx centox ssh 配置
    java 泛型
    Windows Mysql安装
    java 空对象
    java 动态代理(类型信息)
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819517.html
Copyright © 2011-2022 走看看