CodeVS 1697-⑨要写信
原题
题目描述 Description
琪露诺(冰之妖精)有操控冷气的能力。能瞬间冻结小东西,比普通的妖精更危险。一直在释放冷气的她周围总是非常寒冷。
由于以下三点原因……
- 琪露诺的符卡 冰符“Icicle Fall”-Easy的弹幕有够蠢的,只要站在她的正前方就没任何弹幕会碰到你;
- ZUN在《红魔乡》中介绍她时已经说她有点笨笨的了;
- 在ZUN放出《东方花映冢》的介绍图时,在图中把琪露诺放在了⑨的位置上,并以“⑨笨蛋”简单带过,从此“⑨”及“笨蛋”就成为她的别名了……
所以琪露诺便得到了“笨蛋”的别称。
某日,琪露诺又2了……
她写了N封信要装到N个信封里面,却全都装错了……现在想知道有多少种装错的可能性。
输入描述 Input Description
信和信封的数量N。
输出描述 Output Description
装错的可能性的数量。
样例输入 Sample Input
样例输出 Sample Output
数据范围及提示 Data Size & Hint
1≤N≤100
题意
看题面最后一句话,就是求错排数,也就是将N封信全部错装到N个信箱里(不允许有一个是装对的).
题解
uses math;
var ss:ansistring;
var f:array[0..1000] of ansistring;
var n,i:longint;
function time(s1,s2:ansistring):ansistring;
var len1,len2,i,j,x,l:longint;
var a,b,c:array[1..100000] of longint;
var ss:string;
begin
len1:=length(s1);len2:=length(s2);ss:='';
fillchar(a,sizeof(a),0);fillchar(b,sizeof(b),0);fillchar(c,sizeof(c),0);
for i:=1 to len1 do a[len1-i+1]:=ord(s1[i])-48;
for i:=1 to len2 do b[len2-i+1]:=ord(s2[i])-48;
for i:=1 to len1 do
for j:=1 to len2 do
begin
c[i+j-1]:=c[i+j-1]+a[i]*b[j];
c[i+j]:=c[i+j]+c[i+j-1] div 10;
c[i+j-1]:=c[i+j-1] mod 10;
end;
for i:=len1+len2 downto 1 do if c[i]<>0 then begin l:=i;break; end;
for i:=l downto 1 do ss:=ss+chr(c[i]+48);
exit(ss);
end;
function add(s1,s2:ansistring):ansistring;
var len1,len2,i,x,l:longint;
var a,b,c:array[1..10000] of longint;
var ss,p:string;
begin
len1:=length(s1);len2:=length(s2);ss:='';p:='';
fillchar(a,sizeof(a),0);fillchar(b,sizeof(b),0);
for i:=1 to len1 do a[len1-i+1]:=ord(s1[i])-48;
for i:=1 to len2 do b[len2-i+1]:=ord(s2[i])-48;
i:=0;x:=0;
for i:=1 to max(len1,len2) do
begin
x:=x+a[i]+b[i];
c[i]:=x mod 10;
x:=x div 10;
end;
if x>0 then begin l:=i+1;c[l]:=1; end else l:=i;
for i:=l downto 1 do ss:=ss+chr(c[i]+48);
exit(ss);
end;
begin
readln(n);
if n=1 then begin writeln(0);halt; end;
if n=2 then begin writeln(1);halt; end;
f[1]:='0';f[2]:='1';
for i:=3 to n do
begin
str(i-1,ss);
f[i]:=time(ss,add(f[i-1],f[i-2]));
end;
writeln(f[n]);
end.
欢迎转载,若转载请注明出处.
转载于:https://www.cnblogs.com/HAdolf-HQY/p/6493036.html
CodeVS 1697-⑨要写信相关推荐
- Codevs 1697 ⑨要写信
1697 ⑨要写信 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻结小东西,比 ...
- ⑨要写信(codevs 1697)
题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻结小东西,比普通的妖精更危险.一直在释放冷气的她周围总是非常寒冷. 由于以下三点原因-- 琪露诺的符卡 冰符"I ...
- python中json dumps_python中json.loads,dumps,jsonify使用
search_info = {'id':132,'user_role':3} print type(search_info) #输出 #转为string用dumps print type(json.d ...
- 对于有关东方的题目的整理。。
东方赛高 此为总贴 收录以东方project为背景的题目. 模拟赛套题...(25道)无数据,有题面:二次联通门 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过 ...
- 144.⑨要写信(错排公式与高精度练习)
1697 ⑨要写信 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻 ...
- 7.9模拟比赛解题报告
7.9模拟比赛 注:本场考试3道题,时间3个小时.全部为codevs上的题目 1.2124 美丽的大树 题目描述 Description 平江路是苏州最美丽的道路,路中间的绿化带上种了两行漂亮的大树, ...
- [ CodeVS冲杯之路 ] P1116
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...
- 【贪心】【codevs】1214 线段覆盖
http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...
- [codevs 1913] 数字梯形问题
[codevs 1913] 数字梯形问题 题解: 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题. 分别针对三个规则建图.运行最小费用最大流. 规则1:从梯形的顶至底的m条路径互不相交. ...
最新文章
- Current Biology | 以退为进——白逢彦组揭示酿酒酵母通过基因网络的逆向进化适应环境的新机制...
- vmware workstation无法打开内核设备问题处理办法
- IT行业热点商业模式随笔第七章——商业模式创新规律
- C# ie通过打印控件点打印,总是弹出另存为xps的对话框
- 手动创建线程池 效果会更好_创建更好的,可访问的焦点效果
- java 单元测试技巧_其他一些单元测试技巧
- 那些我当了程序员以后才理解的崩溃瞬间!
- 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证
- java执行内存_java运行时内存
- PreferenceActivity(首选项设置页)
- 羊毛之家,青龙脚本,几乎全部可用
- matlab实现序列卷积和运算,用matlab计算序列卷积和并绘图
- 高速钢(HSS)金属切削刀具的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- idear右边的依赖视图没了_APP开发中出现提到的Idear是什么意思
- React通过后台图片路径,打包下载图片
- GitLab设置受保护的分支
- 九城加设网游防沉迷 3千名玩家声称罢玩魔兽
- android客户端功能,推荐一个功能齐全的【玩Android客户端】
- selenium源码通读·12 |webdriver/remote分析
- 网站服务器欠费,网络连接正常,显示DNS不可用是否欠费?