个人比赛地址:http://vjudge.net/contest/view.action?cid=54534#overview(附代码)
problem A:Light OJ 1035
题意:就是求n!的质因数分解式。
思路:对单个数的质因数分解前几篇文章已经讲得特别清楚了,那么这里n!就简单了,因为n的范围才100;
不过做法有点改变,就是用数组num [ i ]来记录i为一个质因子,并且它的指数为num [ i ] 。
problem B:Light OJ 1214
题意:给定整数a,b,判断a是否能整除b.(a可以为特别大的数,b为int 型整数)
思路:用字符串形式读入a,从第一位开始逐位取模,最后判断。比较简单。
problem C:Light OJ 1426
题意:
思路:
problem D: Light OJ 1348
题意:
思路:
problem E: Light OJ 1315
题意:
思路
problem F:Light OJ 1165
题意:给定一个序列,要求得到一个绝对值递增的序列,问最少需要多少步?
思路:*这个问题就是一个bfs暴力搜索,有几个问题:
1.如何判重?如何保存状态?
2.如何进行搜索?
#1:判重方法:
a.hash判重;
b.康托展开;
c.一个八维数组;
d.用map;
#2:搜索:
直接枚举队头节点状态的每两位;
具体思路:
从初始状态开始bfs,每次取队头然后删除,判断是否达到12345678的状态。
若无,则枚举这个状态的两位数字,若一正一负,且绝对值和为素数,则开始进行数字的移动,然后
得到下一个状态,再判重,然后push进队列。