洛谷 P3795 钟氏映射

             洛谷 P3795 钟氏映射    

题目背景

2233年,CSSYZ学校的数学老师兼数学竞赛顾问钟JG已经2200+岁啦!

为了庆生,他或她给广大人民群众出了道题。

题目描述

设集合N=M={xxN+,xk,kN+}

设 ff 为 NN 到 MM 的映射。

求满足:

f[f(x)]=x 的不同的映射 ff 的个数,由于答案较大,输出答案对 14233333取余的数即可。

输入输出格式

输入格式: 

输入一个正整数 kk 

输出格式:

输出满足f[f(x)]=x 的不同的映射 ff 的个数对14233333 取余得到的数。 

输入输出样例

输入样例#1: 
3
输出样例#1: 
4

说明

四个映射分别为:

f(1)f(2)f(3)
1 2 3
1 3 2
2 1 3
3 2 1

数据范围:

对于20%的数据,1k9

对于其它的80%的数据,1k107

内存20MB...(一开始开1MB把自己坑了)

代码:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <cstring>
 4 #include <algorithm>
 5 #define LL long long
 6 const int MAXN=5000+10;
 7 const int MOD=14233333;
 8 LL a,b,c,n;
 9 int main() {
10     std::cin>>n;
11     a=1,b=2,c=4;
12     if(n>=3){
13         for(int i=3;i<=n;i++){
14             c=(b+(i-1)*a)%MOD;
15             std::swap(b,c);
16             std::swap(a,c);
17         }
18         std::cout<<b%MOD;
19     }
20     return 0;
21 }
View Code

 

posted @ 2018-05-22 21:49  GTBA  阅读(291)  评论(0编辑  收藏  举报