`
wss71104307
  • 浏览: 222992 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
http://acm.nit.net.cn/showproblem.jsp?pid=1014     #include <stdio.h> #include <math.h> int is_prime(int); void swap(int *, int *); int main() { int a, b; int i; int num; while(scanf("%d%d", &a, &b) == 2) { if(a > b) swap(&a, &b); n ...
http://acm.nit.net.cn/showproblem.jsp?pid=1013 #include <stdio.h> int a[45]; int fib(int m); int main() { int month; while(scanf("%d",&month) == 1) { printf("%d\n",fib(month)); } return 0; } int fib(int m) { a[0] = 1; a[1] = 1; if(m < 2) return 1; int i ...
http://acm.nit.net.cn/showproblem.jsp?pid=1012       #include <stdio.h> int isyunnian(int year); int monthtoday(int, int); int main() { int a, b, c; while(scanf("%d%d%d", &a, &b, &c) ==3) { printf("%d\n", c+monthtoday(b,isyunnian(a))); } return 0; } ...
#include <stdio.h> #define type_t long long type_t gcb(type_t a, type_t b); type_t lcm(type_t a, type_t b); void swap1(type_t *, type_t *); int main() { type_t a, b; while(scanf("%lld%lld",&a , &b) == 2) { printf("%lld\n",lcm(a, b)); } return 0; } type ...
#include <stdio.h> int gcb(int a, int b); void swap(int * a, int * b); int main() { int a, b; while(scanf("%d%d",&a , &b) == 2) { printf("%d\n",gcb(a, b)); } return 0; } int gcb(int a, int b) { if(a < b) swap(&a, &b); while(a % b) { a ...
http://acm.nit.net.cn/showproblem.jsp?pid=1002 不知道为什么总是WA,测试没遇到问题。把代码贴在这里 #include <stdio.h> #define TOTAL 1000 int w[TOTAL]; int s[TOTAL]; int a[TOTAL]; int b[TOTAL]; int c[TOTAL]; int layer[TOTAL]; void swap(int *, int *); void sort(int []); int findList(); void pf(int); int main() { in ...
  把中文汉字大写数字 转换成 阿拉伯数字,如十万一千一百十二 变成 101112.   #include <stdio.h> #include <string.h> /* * 注意字符串的比较用strcmp(); */ int change(const char [][3]); int match(const char *); int is_flag(const char *); int main(void) { char orig[][3]={"十", "万","一", "千" ...
一个不知道有多少条目的文件 每个条目一行 类似下面的结构 sdfgdfsgdfsgf ertyrteyrtye ytuityuityuityui etrwtwetewtwt ..... 要求从头到尾只遍历一遍,等概率取其中100个条目,可以用rand()等系统函数时侯 和不能用任何系统调用时都怎么做?       假设文件的行数n大于100行(其实是废话,小于100行就没意义了) 预先申请一个string str[100],将前100行的记录都存取进去。 然后从第101行开始,假设当前是第K行,令m=rand() % k,如果m<100,就将str[m ...
/*一个数组a[100]存放了1~100自然数,现在要求写一个函数comb(int n,int r), 打印出n以内的r个数的所有组合,例如comb(5,3),结果是: 1 2 3;124;125;234;... 注:123 和 321,213看做一个组合 */ #include <stdio.h> # define MAXN 100 int a[MAXN]; void comb(int m,int k) { int i,j; for (i=m; i>=k; i--) { a[k]=i; if (k>1) ...

sizeof

#include <stdio.h> struct s1{ int a; char b[6]; char c[6]; char d[2]; }; struct s2{ char b[6]; char c[6]; char d[2]; }; int main() { printf("the result is:%d %d %d",sizeof(int),sizeof(struct s2), ...
#include <stdio.h> int FindMajorElement(int a[], int size) { int major; int num=0; int i; for(i=0; i < size; i++) { if(num == 0) major=a[i]; else if( major == a[i] ) num++; else num--; } num=0; for(i=0; i< size; i++) { if( a[i] == major) num++; } if( num&g ...
#include <stdio.h> int func(int A, int B) { int M= A ^ B; int num=0; while(M!=0) { M &= (M-1); num++; } return num; } int main() { int A, B; A=0x00; B=0x11; printf("%d\n", func(A,B)); return 0; }  
问题:  用很多教室对一组活动进行调度,希望所用的教室数最少。   算法:   对活动时间按开始、结束时间排序(2n个元素)。   建立2个list,第一个list放已使用过的教教室,记做BusyList ,第二个list放未使用的教室FreeList ,     对某个时间t, 1. 如果t是某活动 i 的开始时间,在未使用的教室FreeList 中选择教室给 i ,然后把该教室加 入到已使用的教室BusyList 中,如果FreeList 中没有教室,则新生成一个教室,并把该教室加入到BusyList 中   2. 如果t是活动i 的结束时间,则把BusyList 中,分配给t 的教室删除 ...
#include <stdio.h> #define MAX 1000 #define NUM 13 int DP_ActivitySelector(int i, int j, int s[], int f[], int A[][NUM]) { int k; int temp=0; int max=0; if(A[i][j] != -1) return A[i][j]; if(i == j) return max; else { for(k = i+1; k < j; k++) { if(s[k] < f[i] || f[k] ...
//求1的个数 int num1Bit(int x) { for(int count=0; x;count++) { x &= x-1; } } //求0的个数 int num1Bit(int x) { for(int count=32; x;count--) { x &= x-1; } }  
Global site tag (gtag.js) - Google Analytics