摘要:唔..这道弱暴的贪心题花了我不少于半个小时,先简述解题思路之前就有模糊的思路,顺序计算出相邻奶牛之间距离,然后贪心最小的贪心遇到的麻烦就是到底贪多少个间隔,纠结无比之久,搞定之后发现我连qsort的cmp都写错了.尼玛样例还是不过,仔细思考,得出贪距离时,每一段都少了一个端点,于是+M样例过了交上去还是不过.我默认奶牛input有序了....于是qsort之.还不过...看数据.....忘记极限情况,即木板数多余牛= =...最后加个判断.简直弱暴了.唯一高兴的是,这道题是完全在vim下写+调试的,就是笔记本键盘不给力,效率低= =今天对于vim,算是进入一个新的小阶层~~~不再是只会hjkl
阅读全文
摘要:很多东西是我现在无法理解的,或者说是没有时间去理解的例如上次拦截导弹的dilworh定理,我只能先是记住结论2.05 过河需要用数论中的同余来证明>=90时压缩到90
阅读全文
摘要:模拟模拟....一开始头有点晕....打了盘dota一下就想到了= =开两个数组保存明文暗码分别对应字母,初始化0读入前两个字符串,枚举,若未记录则记录下来,并且用一个变量保存存了多少对关系,不满足都为0(即都填上了) 就比较一下......呃- - 语文不好..看代码拉..个人觉得代码比较简洁#include<stdio.h>#include<string.h>#define MAXN 100#define MAXLEN 1000char q[MAXN], a[MAXN];int main(void){ int n = 0, i, l, ok = 1; char s1
阅读全文
摘要:直接贪心嗯..这题都会的/*ID:y7276571LANG: C++TASK: milk*/#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXN 5000typedef struct milk{ int cost, ans;}milk;int cmp(const void *a, const void *b){ return ((milk*)a)->cost - ((milk*)b)->cost;}int main(void){ freopen("milk.i
阅读全文
摘要:枚举的数据不大于4字节整形,最多用33位char就可以储存其二进制了。有上一题的基础。。这题就很简单了。。而且以前明明写过对初学者很难的mirrored palindrome 0 0网上有说进制转换用Itoa,不过这尼玛不是ansi c的,而且2-16进制= =/*ID:y7276571LANG: CTASK: dualpal*/#include<stdio.h>#include<string.h>#define MAXLEN 50char str[MAXLEN];int ispal(char *s){ int i, len = strlen(s); for(i = 0
阅读全文
摘要:英语坑人。。。唯一想说的= =没读懂题意,果断改了几次。。。/*ID:y7276571LANG: CTASK: palsquare*/#include<stdio.h>#include<string.h>#define MAXN 50char alpha[] = {"0123456789ABCDEFGHIJKLMN"};int ispal(char *s){ int i, len = strlen(s); for(i = 0; i <= len/2; i++) if(s[i] != s[len-i-1]) return 0; return 1;
阅读全文
摘要:这道题属于稍微想一下就很容易实现的。如果生成所有可能的name,再来比较,那么可能的数据 3^12(*5000),,不管能不能过。。总之很大。//刚看了题解,因为dict是有序的,可以用二分搜索,显然我不会。。。我感觉容易实现的就是用每个单词来比较。。5000*3*12 = =/*ID:y7276571LANG: CTASK: namenum*/#include<stdio.h>#include<string.h>#define MAXN 5000#define MAXLEN 14char name[MAXN][MAXLEN], p[10][3] = {"AA
阅读全文
摘要:不想再写下去了,对于这道题的模拟,我实在没什么好办法,在不断修改的过程中,bug也不断出现。这道题没AC,暂时搁在这里,心情不好!/*ID:y7276571LANG: CTASK: transform*/#include<stdio.h>#include<string.h>#define MAXN 10char a[MAXN][MAXN], b[MAXN][MAXN], c[MAXN][MAXN], d[MAXN][MAXN];int n;int rotate(int t){ int i, j; while(t--) { for(i = 0; i < n; i+.
阅读全文