2011年2月12日
摘要:
题意:输入两行,第一行是密码的解码,第二行是一行文字,要求翻译出第二行注意吃掉回车code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ char key[30], message[90]; int m; while(scanf("%s", key)!=EOF) { getchar(); //注意吃掉回车 cin.getline(message, 90); int l
阅读全文
posted @ 2011-02-12 17:29
FreeAquar
阅读(179)
推荐(0)
2011年2月11日
摘要:
统计4句英文的每个大写字母的出现频率,并用直方图表示出来code:#include <iostream>#include <cstdio>#include <string>#include <cstring>using namespace std;int hash[30];int main(){ char s[80]; memset(hash, 0, sizeof(hash)); int maxh=0, t=4; while(t--) { cin.getline(s,80); int
阅读全文
posted @ 2011-02-11 12:22
FreeAquar
阅读(140)
推荐(0)
2011年2月9日
摘要:
题意:给出一系列的数,找出那个最先出现的拥有最大素数因子的数;hint:注意1的处理code:#include <iostream>#include <cstdio>#include <cstring>#define MAXN 20005using namespace std;int prime[MAXN];void Prime(){ prime[1]=1; for(int i=2; i<MAXN; i++) if(prime[i]==0) for(int j=2*i; j<MAXN
阅读全文
posted @ 2011-02-09 16:59
FreeAquar
阅读(140)
推荐(0)
2011年2月8日
摘要:
//给出n,c,求1~n中间的素数,求出所有素数中间2*c并且表示出来,奇数输出中间2*C-1个数。#include iostream#include cstdio#include cstring#define MAXN 1000using namespace std;int prime[MAXN+5];int num[MAXN];void Prime(){ prime[0]=1; for(int i=2; i=MAXN; i++) if(prime[i]==0) for(int j=i+i; j=MAXN; j=j+i) prime[j]=1;}int main(){ mem
阅读全文
posted @ 2011-02-08 01:30
FreeAquar
阅读(173)
推荐(0)
2011年1月25日
摘要:
因为是权初始化mark1[],mark2[]为0,所以最后要再减去2,mark1[i]为从第1个到第i个人中最长递增子序列的最长长度,mark2[i]为从第个i到最后一个人中最长递减子序列的最长长度,求峰值code://204k, 32ms#include <iostream>#include <cstdio>#include <cstring>using namespace std;double list[1005];int n, mark1[1005], mark2[1005];int main(){ while(scanf("%d"
阅读全文
posted @ 2011-01-25 01:17
FreeAquar
阅读(172)
推荐(0)
2011年1月24日
摘要:
推出推导式:r=R*sin(PI/n)/(1+sin(PI/n))。code:#include iostream#include cstdio#include cmath#define PI 3.1415926using namespace std;int main(){ int cas; while(scanf("%d",&cas)!=EOF) { int n, t=1; double R, r; while(cas--) { scanf("%lf%d",&R, &n); r=R*sin(PI/n)/(1+sin(PI/n)); printf("Scenario #%d:\n%.
阅读全文
posted @ 2011-01-24 23:33
FreeAquar
阅读(188)
推荐(0)
摘要:
有个hint,计算w的时候,边界n<=300,但t处理要处理到t[301],以为要计算的是w[n]=w[n-1]+n*t[n+1]。code:#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;int t[350], w[350];void ready(){ t[1]=1; for(int i=2; i<=304; i++) t[i]=t[i-1]+i;}void ok(){ for(int i=1; i<304; i++) w[i]=i*t[i
阅读全文
posted @ 2011-01-24 22:31
FreeAquar
阅读(277)
推荐(0)
2011年1月22日
摘要:
换零钱,只用找最少的硬币数方法code:#include iostream#include cstdio#include cstringusing namespace std;int main(){ int cas, price; while(scanf("%d",&cas)!=EOF) { for(int i=1; i=cas; i++) { cinprice; int sum=price/25; printf("%d %d QUARTER(S), ", i,sum); price=(price-sum*25); sum=price/10; printf("%d DIME(
阅读全文
posted @ 2011-01-22 16:32
FreeAquar
阅读(152)
推荐(0)
摘要:
code:#include iostream#include cstdio#include cstringusing namespace std;int num[25][25];int main(){ int n,s; while(scanf("%d%d",&n, &s)!=EOF) { memset(num,0,sizeof(num)); for(int i=0; in; i++) { for(int j=0; j=i; j++) { num[i][j]=s; s++; if(s==10) s=1; } } for(int i=0; in; i++) { for(int j
阅读全文
posted @ 2011-01-22 16:00
FreeAquar
阅读(132)
推荐(0)
摘要:
//题意:给出 n ,如果 n 是素数则输出 0 ,否则求出大于 n 的素数 k 与小于 n 的素数 j//之间的差。code:#include iostream#include cstdio#include cstdlib#include cstring#define MAXN 1300000using namespace std;int prime[MAXN], count;int visited[MAXN];void Prime(){ for(int i=2; iMAXN; i++) { if(prime[i]==0) for(int j=i+i; jMAXN; j=
阅读全文
posted @ 2011-01-22 12:17
FreeAquar
阅读(198)
推荐(0)