vjudge 之#Train

来源:互联网 发布:execfile python参数 编辑:程序博客网 时间:2024/06/09 22:00

 个人比赛地址:http://vjudge.net/contest/view.action?cid=54534#overview(附代码)

problem A:Light OJ  1035

 题意:就是求n!的质因数分解式。

 思路对单个数的质因数分解前几篇文章已经讲得特别清楚了,那么这里n!就简单了,因为n的范围才100;

       不过做法有点改变,就是用数组num [ i ]来记录i为一个质因子,并且它的指数为num [ i ] 。

 problem BLight 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进队列。



0 0
原创粉丝点击