上一页 1 ··· 25 26 27 28 29
摘要: //不难的模拟#include#include int main(void){ int mod,seed[100005]={0},step,flag[100005],i; while(scanf("%d%d",&step,&mod)!=EOF) { memset(flag,-1,sizeof(flag)); flag[0]=1; for(i=1;i<mod;i++) seed[i]=(seed[i-1]+step)%mod,flag[seed[i]]=1; for(i=0;i<mod;i++) ... 阅读全文
posted @ 2013-09-11 19:51 heaventouch 阅读(62) 评论(0) 推荐(0) 编辑
摘要: //求数根#includeint fun(int a);int main(){ int a; char c; while(1) { scanf("%c",&c); if(c=='0') break; a=c-'0'; while(scanf("%c",&c)!=EOF) { if(c=='\n') ... 阅读全文
posted @ 2013-09-11 19:49 heaventouch 阅读(135) 评论(0) 推荐(0) 编辑
摘要: //简单题..#includeusing namespace std;double fun(int i);int main(){ int i,n; double e; printf("n e\n"); printf("- -----------\n"); printf("0 1\n"); printf("1 2\n"); printf("2 2.5\n"); e=2.5; for(i=3;i<=9;i++) { e+=1.0/fun(i); pr... 阅读全文
posted @ 2013-09-11 19:47 heaventouch 阅读(67) 评论(0) 推荐(0) 编辑
摘要: //搜索练习题,深搜广搜也行//437MS 240K 1511 B G++#include#include#include#includechar map[10][10];int mov[4][2]={0,1,1,0,0,-1,-1,0};int n,m,t;int flag;int xb,yb,xe,ye;void dfs(int x,int y,int k){ if(flag) return; if(x==xe && y==ye && k==t){ flag=1;return; } int temp=(t-k)-abs(x-xe)-a... 阅读全文
posted @ 2013-09-11 19:43 heaventouch 阅读(107) 评论(0) 推荐(0) 编辑
摘要: //DP噩梦//对新手来说比较蛋疼的一题,建议先做其他的//31MS 260K 825 B #include #include #define M 1000000struct node{ int a,; int b; double ab;}c[1005];int cmp(const void*a,const void*b){ return (*(node *)b).ab > (*(node *)a).ab?1:-1;}int main(void) { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { ... 阅读全文
posted @ 2013-09-11 19:40 heaventouch 阅读(82) 评论(0) 推荐(0) 编辑
摘要: //模拟题吧- -#includeint main(void){ int arr[1000]={0,1,1}; int i,a,b,n; while(scanf("%d%d%d",&a,&b,&n),a||b||n) { for(i=3;i<1000;i++) { arr[i]=(a*arr[i-1]+b*arr[i-2])%7; if(arr[i]==1&&arr[i-1]==1) break; } n=n%(i-2); ar... 阅读全文
posted @ 2013-09-11 19:37 heaventouch 阅读(84) 评论(0) 推荐(0) 编辑
摘要: //打表找规律#includeint main(void){ int arr[1000]={0,1,1}; int i,a,b,n; while(scanf("%d%d%d",&a,&b,&n),a||b||n) { for(i=3;i<1000;i++) { arr[i]=(a*arr[i-1]+b*arr[i-2])%7; if(arr[i]==1&&arr[i-1]==1) break; } n=n%(i-2); arr[0]=arr[i-2]; printf("%d\n",arr[n]); } ret 阅读全文
posted @ 2013-09-11 19:31 heaventouch 阅读(71) 评论(0) 推荐(0) 编辑
摘要: //C++容器练习题#include#include#includeusing namespace std;int main(void){ map Ballon; string color,Maxcolor; int n,max; while(cin>>n,n) { Ballon.clear(); while(n--) { cin>>color; Ballon[color]++; } map::iterator it; max=0; for(it=Ballon.begin();it!=Ballon.end();it++) if(it->second > ma 阅读全文
posted @ 2013-09-11 19:26 heaventouch 阅读(94) 评论(0) 推荐(0) 编辑
摘要: //dp,注意转移要领,动手模拟一下#include#define max(a,b) (a>b?a:b)int main(void){ int t,n,a[100005]; int st,et,po; int max,now; int k=1; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;imax){ max=now; st=po; et=i; } } printf("Case %d:\n%d %d %d\n",k++,max,st,et); 阅读全文
posted @ 2013-09-11 19:18 heaventouch 阅读(78) 评论(0) 推荐(0) 编辑
摘要: //大数,直接开数组加#include#includeint s[1005];void Add(char a[],char b[]){ int lena=strlen(a); int lenb=strlen(b); int len=lena>lenb?lena:lenb; int ia[1005]={0}; int ib[1005]={0}; for(int i=0;i=0;j--) printf("%d",s[j]); printf("\n"); if(n) printf("\n"); } return 0;} 阅读全文
posted @ 2013-09-11 19:14 heaventouch 阅读(265) 评论(0) 推荐(0) 编辑
摘要: #includeint main(void){ int n; while(scanf("%d",&n)!=EOF) if(n%2) printf("%d\n\n",(n+1)/2*n); else printf("%d\n\n",n/2*(n+1)); return 0;} 阅读全文
posted @ 2013-09-11 19:10 heaventouch 阅读(94) 评论(0) 推荐(0) 编辑
摘要: //KMP+DP想了一段时间都没想出来有DP思想...杯具/*求给定字符串含前缀的数量abab前缀为aababaabababab中共有六个子串是前缀a a ab ab aba abab所以答案为 6KMP+DP dp[i]:以c[i]结尾串的子串总共含前缀的数量如串 a b a b a b a next[i] -1 0 0 1 2 3 4 5其中 dp[0]=0, dp[1]=1,即a dp[2]=1,即ab dp[3]=2,即a,aba dp[4]=2,即ab,abab dp[5]=3,即a,aba,abab ... 阅读全文
posted @ 2013-06-03 22:36 heaventouch 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其它外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序; 也可以是一组待输入处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、可执行程序可以称作程序文件,对输入输出数据可称作数据文件。 设备文... 阅读全文
posted @ 2013-06-01 10:57 heaventouch 阅读(186) 评论(0) 推荐(0) 编辑
摘要: //01背包入门题,理解01背包的思想后直接可过//状态转移方程: dp[j]=Max(dp[j],dp[j-v[i]]+w[i]);#include<stdio.h>#define N 1005int dp[N*N]={0};int Max(int a,int b){ return a>b?a:b;}int main(void){ int t,n,m; int v[N],w[N]; scanf("%d",&t); while(t--) { for(int i=0;i<N*N;i++) dp[i]=0; scanf("%d%d&qu 阅读全文
posted @ 2013-06-01 09:06 heaventouch 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1 //第一题解题报告 2 3 //入门题 4 5 #include 6 int main(void) 7 { 8 int a,b; 9 while(scanf("%d%d",&a,&b)!=EOF)10 printf("%d\n",a+b);11 return 0; 12 } 阅读全文
posted @ 2013-05-25 07:10 heaventouch 阅读(99) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29