摘要:没说的,水#include #include using namespace std;int factorial(int n){ if(n==1||n==0) return 1; else return n*factorial(n-1);}int main()...
阅读全文
摘要:各个位相加对10取余。#include using namespace std;string st, res;int main(){ getline(cin, res); while (getline(cin, st) && st != "") { for (in...
阅读全文
摘要:方程都给出来了,直接敲代码就好了。#include #include #include using namespace std;int dp[25][25][25];int dfs(int a,int b,int c){ if(a20 || b>20 || c>20) retur...
阅读全文
摘要:写出前几项,之后f[i] = f[i - 1] + f[i - 2];#include #include using namespace std;#define maxn 45int f[maxn];int main(){ f[1] = 2; f[2] = 3; for (int ...
阅读全文
摘要:#includeusing namespace std;int quick_mod(int a,int b,int m) //模板{ a=a%m; int ans=1; while(b) { if(b&1) { ans=(ans*a)%m; }...
阅读全文
摘要:按要求排序,然后调用next_permutation即可。#include#include#includeusing namespace std;bool cmp(const char &a, const char &b){ if(a = 'A' && b = 'A') return a = 'a...
阅读全文
摘要:开关问题,有n个灯,分别由n个开关控制,拨一下开关则可以改变灯的状态(开->关 关->开)。初始状态灯都是关着的,先把每个开关都拨一下,然后拨一下2的倍数的开关,接着3的倍数,直到n的倍数,问最后有多少灯是开着的。#include #include using namespace std;int m...
阅读全文
摘要:找出10000以内所有不能由n+n的各位数字和组成的数字。直接代码,一看就懂。#includeusing namespace std;#define MAX 10003int main(){ int i, b, sum, a[MAX]={0}; for(i=1; i<MAX; i++) ...
阅读全文
摘要:由所给图可以发现,整数点就可能出现在两条线上,一条是x=y,而另一条是x=y+2。其中:X为奇数时,(x,y)=x+y-1;X为偶数时,(x,y)=x+y;#include using namespace std;int main (){ int n; cin>>n; while(...
阅读全文
摘要:下面对不同的情况给予讨论:(1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。(2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。(3):当mn时,也分两种情况讨论,一种是至少有一个盘子里不放苹果,这样子就相当...
阅读全文
摘要:八数码问题,各种解法。/*// BFS#include#include#includeusing namespace std;// 把1..n的排列映射为数字 0..(n!-1)int fac[] = { 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880 }...
阅读全文
摘要:题目大意:每一小格代表能向右或者向下走几步,问从左上走到右下总共有多少种走法。 dp[i][j]存放该格子有多少总走法。#include #include using namespace std;int n;char a[40][40];int s[40][40];__int64 dp[40][40...
阅读全文
摘要:题目大意:要求从左边到右边(注意第1行和最后一行相邻),即:从第1列到最后一列即可,共有三种走法,求最小的代价及打印行号。 三种走法,Sample Input5 63 4 1 2 8 66 1 8 2 7 45 9 3 9 9 58 4 1 3 2 63 7 2 8 6 45 63 4 1 2...
阅读全文
摘要:题目大意:给一个五子棋,判断能否在三步内赢棋。分析:一步赢棋,枚举下棋位置看是否有5子出现两步对手赢棋,对手有至少两个位置下棋后可以出现5子三步赢棋,枚举当前己方下棋点,然后判断会不会出现至少两个位置下棋后可以出现5子,这里还得注意枚举的己方下棋后,对手不能出现(1)的情况。#include #in...
阅读全文
摘要:题意:给你十个俄罗斯方块,问你能否拼成指定长宽的矩形,方块下落的顺序是严格确定的,后下落的方块不能落在先下落的方块之下。每个俄罗斯方块都是由更小的小方格拼成的, 可以用一个一维数组来记录每一列已经摞上了多少个小方格。DFS遵循底部放满原则,如果可以恰好和已存在的方块实现无缝拼接才往上放,否则回溯。#...
阅读全文
摘要:出处:http://blog.csdn.net/lyy289065406/article/details/6683250大致题意:有一块边长为BoxSize的正方形的大蛋糕,现在给出n块不同尺寸的正方形的小蛋糕的边长,问是否能把大蛋糕按恰好切割为这n块小蛋糕,要求每块小蛋糕必须为整块。解题思路:有技...
阅读全文