题目名称 1614. [Ural 1309] 辩论
输入输出 Dispute.in/out
难度等级 ★☆
时间限制 500 ms (0.5 s)
内存限制 64 MiB
测试数据 10
题目来源 Gravatarcstdio 于2014-05-01加入
开放分组 全部用户
提交状态
分类标签
数论 Ural
分享题解
通过:8, 提交:18, 通过率:44.44%
Gravatarsplitspaces 100 0.000 s 0.00 MiB C++
Gravatarcstdio 100 0.006 s 0.46 MiB C++
GravatarceerRep 100 0.008 s 0.46 MiB C++
GravatarGo灬Fire 100 0.011 s 0.39 MiB C++
Gravatarhzoi_xx 100 0.011 s 0.39 MiB C++
Gravatarkito 100 0.015 s 0.37 MiB C++
Gravatarmikumikumi 100 0.023 s 0.44 MiB C++
Gravatar, 100 0.025 s 0.47 MiB Pascal
GravatarGo灬Fire 60 0.374 s 38.46 MiB C++
Gravatarsplitspaces 40 0.285 s 3.27 MiB C++
关于 辩论 的近10条评论(全部评论)
感谢楼上神犇。
Gravatarkito
2016-10-22 19:03 2楼
真·乱搞能过
Gravatarcstdio
2014-05-01 21:20 1楼

1614. [Ural 1309] 辩论

★☆   输入文件:Dispute.in   输出文件:Dispute.out   简单对比
时间限制:0.5 s   内存限制:64 MiB

【题目描述】

辩论是件好事!众所周知,真理越辩越明。Ural锦标赛的两名组织者进行了一场辩论。第一个人说,对于编程竞赛而言,计算一个函数的值是一道非常愚蠢而且无用的题目。他的论证是:一旦一个函数的定义已知,并且有充分时间做必要的准备,就可以很快计算出这个函数在任意一点的值。第二名组织者却认为并非所有的函数都可以被足够快地计算出来。为了结束这场辩论,他们决定做一个试验。因此你需要证明你的确可以足够快地计算一个函数在任意一点的值。

这个函数f(n),其中n是非负整数,递归定义如下:

f(0)=0

f(n)=g(n,f(n-1)),

其中g(x,y)=( (y-1)x^5 +x^3 - xy + 3x + 7y) % 9973,这里%符号代表取模(即C/C++中的%)

【输入格式】

输入文件有一行一个整数n(0<=n<=10^8).

【输出格式】

输出一行一个整数f(n)。

【样例输入】

50

【样例输出】

6300

【提示】

你得写一个程序输出f(n)的值。并且它必须运行的非常快!

【来源】

Ural 1309 Dispute

Problem Author: Idea - Alexander Klepinin, prepared by Alexander Klepinin, Stanislav Vasilyev
Problem Source: VIII Collegiate Students Urals Programming Contest. Yekaterinburg, March 11-16, 2004