
算法—简单
王老大_
奋斗在路上
展开
-
POJ 2019 Power of Cryptography
技巧。 #include #include using namespace std; double n,p; int main(){ while(cin>>n>>p){ cout<<pow(p,1/n)<<endl; } }原创 2015-04-13 18:25:40 · 550 阅读 · 0 评论 -
poj 2316 SPIN
各个位相加对10取余。 #include using namespace std; string st, res; int main() { getline(cin, res); while (getline(cin, st) && st != "") { for (int i = 0; i < st.length(); i++)原创 2015-05-28 11:20:15 · 558 阅读 · 0 评论 -
POJ 1579 Function Run Fun
方程都给出来了,直接敲代码就好了。 #include #include #include using namespace std; int dp[25][25][25]; int dfs(int a,int b,int c) { if(a<=0 || b<=0 || c<=0) return 1; if(a>20 || b>20 || c>20)原创 2015-05-28 10:05:54 · 605 阅读 · 0 评论 -
POJ 1664 放苹果
下面对不同的情况给予讨论: (1):当盘子数为1的时候,只有一种放法就是把所有苹果放到一个盘子里。 (2):当苹果数为1的时候,也只有一种放法,注意题目中说明,盘子之间并无顺序,所以不管这个苹果放在哪个盘子里,结果都算一个。 (3):当m (4):当m==n时,此时分两种情况讨论,一种是一个盘子里放一个,只是一种,第二种是,至少有一个盘子里不放苹果这就相当于是f(m,m-1原创 2015-05-27 15:26:10 · 563 阅读 · 0 评论 -
POJ 1995 Raising Modulo Numbers (快速幂取余)
#include using 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; } b>>=1; a=(a*a)%m; }原创 2015-05-27 20:06:59 · 862 阅读 · 0 评论 -
POJ 1218 THE DRUNK JAILER
开关问题,有n个灯,分别由n个开关控制,拨一下开关则可以改变灯的状态(开->关 关->开)。初始状态灯都是关着的,先把每个开关都拨一下,然后拨一下2的倍数的开关,接着3的倍数,直到n的倍数,问最后有多少灯是开着的。 #include #include using namespace std; int main() { int n; cin>>n; while(n-原创 2015-05-27 17:51:31 · 581 阅读 · 0 评论 -
POJ 1316 Self Numbers
找出10000以内所有不能由n+n的各位数字和组成的数字。 直接代码,一看就懂。 #include using namespace std; #define MAX 10003 int main() { int i, b, sum, a[MAX]={0}; for(i=1; i<MAX; i++) { b = sum = i;原创 2015-05-27 17:24:06 · 521 阅读 · 0 评论 -
POJ 1953 World Cup Noise
写出前几项,之后f[i] = f[i - 1] + f[i - 2]; #include #include using namespace std; #define maxn 45 int f[maxn]; int main() { f[1] = 2; f[2] = 3; for (int i = 3; i < maxn; i++) f[i]原创 2015-05-27 20:17:29 · 701 阅读 · 0 评论 -
poj 1256 Anagram
按要求排序,然后调用next_permutation即可。 #include #include #include using namespace std; bool cmp(const char &a, const char &b) { if(a = 'A' && b = 'A') return a < b; if(a = 'a' && b = 'a') return a <原创 2015-05-27 19:19:30 · 429 阅读 · 0 评论 -
POJ 1663 Number Steps
由所给图可以发现,整数点就可能出现在两条线上,一条是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(n--) { int x, y;原创 2015-05-27 16:46:22 · 538 阅读 · 0 评论 -
poj 1517 u Calculate e
没说的,水 #include #include using namespace std; int factorial(int n) { if(n==1||n==0) return 1; else return n*factorial(n-1); } int main() { cout<<"n e"<<endl; cout<<"原创 2015-05-28 12:32:59 · 471 阅读 · 0 评论