03 2012 档案
摘要:#include<string.h>#include<stdio.h>int main(){ char s[10000]; int a[26]; while(gets(s)) { int i; memset(a,0,sizeof(a)); for(i=0;i<strlen(s);++i) { if(s[i]>='A'&&s[i]<='Z') { a[s[i]-'A']++; } } for(i=0;i<26;++i) { printf("%c:%d\n",'
阅读全文
摘要:不需要排队两种:1.数组#include <iostream>using namespace std;int p1[1000002],p2[1000002],p3[1000002];int main(){ int i,j,k, n,len1,len2,a,b,c,d; cin>>n; for(i=0;i<n;i++) { cin>>len1>>len2; for(j=0;j<len1;j++) cin>>p1[j];//p1ÊǵÚÒ»¸ö
阅读全文
摘要:#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int main(){ int a[20],n; while(scanf("%d",&n)!=EOF) { int min,max; int i; for(i=0;i<n;++i) { scanf("%d",&a[i]); } min=0; max=0; for(i=0;i<n;++i) { if(a[i]<a[min]) min=i; e
阅读全文
摘要:还是要学习下STL#include <iostream>#include <stdio.h>#include <map>#include <string.h>#include <string>using namespace std;#define MAXLEN 102char str[MAXLEN];int main(){ while(scanf("%s",str)!=EOF) { map<string,int> M;//map<string,int> M; for(int i=0;i<
阅读全文
摘要:bitset<100> bs 100表示bs有100位bs.count() 表示二进制位为1的个数bs.set() 把所有二进制位都置为1bs.reset() 把所有二进制位都置为0#include<iostream>#include<bitset>#include<cstdio>#include<stdlib.h>int max(int x,int y){ return x>y?x:y;}int min(int x,int y){ return x<y?x:y;}using namespace std;const int
阅读全文
摘要:需要考虑两个问题 1:只能相信移位 2:最小的数越前越好,最大的数越后越好这样应该就没什么问题#include<stdio.h>#include<stdlib.h>int main(){ int n,worker[204]; while(scanf("%d",&n)!=EOF) { int max,min,count=0; max=0; min=0; int a=-1,b=500; for(int i=0;i<n;++i) { scanf("%d",&worker[i]); if(worker[i]>=
阅读全文
摘要:大家需要注意下,这个需要判断输入是否错误:scanf("%d",&num)!=1 and num>=1&&num<=10以前不需要判断,所以搞了很久#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int a[11]; while(1) { memset(a,0,sizeof(a)); int num; for(int i=0;i<20;++i) { if(scanf("%d",&num)!
阅读全文
摘要:#include <iostream>#include <stdio.h>using namespace std;typedef struct Road{ int d; int p;}Road;Road road[1005][1005];#define INF 0xfffffffint n,m;void dij(int s,int t){ bool visited[1005]; int dis[1005]; int price[1005]; for(int i=1;i<=n;i++) { visited[i]=false; ...
阅读全文