摘要:题意:给出1~9里面的一些数字,按题目所给公式填入这些数字使得结果成立,求有多少种组合方式。mark:简单的枚举。我的代码比较暴力,可以用数组的形式简化。。。代码:/*ID: andre_j2LANG: CTASK: crypt1*/#include <stdio.h>#include <stdlib.h>#include <string.h>int n;int a[15];int tem1,tem2,tem3,cnt;int find(int m){ int i; for(i = 0; i < n; i++) if(a[i] == m) return
阅读全文
摘要:题意:找到一个字符串里面最长的回文字符串。mark:做了这题真是感叹,对不会文件读写的人来说,文件读写真是逆天啊。。。而且USACO居然不用考虑效率问题,O(n^2)都能过。 总结一下文件读写。 把文件导入导出有两种方法:FILE *fin, *fout;fin = fopen("***", "rb");fout = fopen("***", "wb");freopen("***", "r", stdin);freopen("***", "w&q
阅读全文
摘要:题意:有很多隔间,部分隔间被奶牛占领,要修墙,连在一起的算一面墙,给定墙的最大面数,问怎么修,才能使其包括所有被奶牛占有的地方都能被包围并且墙的总占地最小。mark:wa了一次,写到最后糊涂了一下。。仔细就好。代码:/*ID: andre_j2LANG: CTASK: barn1*/#include <stdio.h>#include <stdlib.h>int cmp(const void *a, const void *b){ return *(int *)a - *(int *)b;}main(){ freopen("barn1.in", &q
阅读全文
摘要:题意:计算从农夫手中购买需要的牛奶的最小价格。mark:简单排序即可。代码:/*ID: andre_j2LANG: CTASK: milk*/#include <stdio.h>#include <stdlib.h>typedef struct{ int p,a;}farmer;int cmp(const void *c, const void *b){ farmer *f1 = (farmer *)c, *f2 = (farmer *)b; if(f1->p != f2->p) return f1->p - f2->p; return f2-&
阅读全文
摘要:题意:寻找n个在2~10进制里面转换后至少有两次是回文数字的严格大于S的数字。mark:仔细一点就ok了。代码:/*ID: andre_j2LANG: CTASK: dualpal*/#include <stdio.h>#include <string.h>int dd(char a[]){ int i,j; j = strlen(a)-1; for(i = 0; i < j; i++,j--) if(a[i] != a[j]) return 0; return 1;}int pd(int n){ int m,i,j,f; char a[20]...
阅读全文
摘要:题意:找1~300对应的平方数再转换成对应的进制后是回文数字的数。mark:扫描一遍,转换一遍,满足要求的输出。代码:/*ID: andre_j2LANG: CTASK: palsquare*/#include <stdio.h>#include <string.h>int pd(char a[]){ int n,i,j; n = strlen(a); for(i = 0, j = n-1; i < j; i++, j--) if(a[i] != a[j]) return 0; return 1;}void fout(char a[]){ int i...
阅读全文
摘要:题意:将数字转换成对应的字母。mark:把字典里面的数全部存在数组里面,然后每输入一次搜索一遍,看是否存在该数。代码:/*ID: andre_j2LANG: CTASK: namenum*/#include <stdio.h>#include <string.h>char a[5010][15],b[5010][15];main () { FILE *fdict = fopen("dict.txt", "r"); FILE *fin = fopen("namenum.in", "r"); F
阅读全文
摘要:题意:将转换前字符串经过题目给出的7种方式转换成转换后的字符串。注意5是前三种跟第四种结合。mark:模拟一下就ok了~代码:/*ID: andre_j2LANG: CTASK: transform*/#include <stdio.h>#include <string.h>int i,j;int pp(char a[][15], char b[][15], int n){ int i; for(i = 0; i < n; i++) if(strcmp(a[i], b[i])) return 0; return 1;}void zh1(char a[][15],.
阅读全文
摘要:题意:n个农夫给n只羊喂奶,分别给出他们的起始时间和结束时间,求重叠的和没有重叠的最长时间。mark:wa了一次。变量max1忘记每次遇到不重叠的时候需要重新初始化了。。代码:/*ID: andre_j2LANG: CTASK: milk2*/#include <stdio.h>#include <stdlib.h>typedef struct{ int st,en;}fa;int cmp(const void *a, const void *b){ fa *p = (fa *)a, *q = (fa *)b; if(p->st != q->st) retu
阅读全文