IT民工
加油!
摘要: 这道题要求我们用一条直线将蛋糕平均分成两半,要求两边的cherrie一样多,并且不能有cherrie 在直线上,当然也不能在外边,我们直接枚举所有的直线的系数a,b的可能情况,遇到第一种情况输出即可。#include<cstdio>#include<cstring>#include<cstdlib>typedef struct coordinate{ int x, y;}C;C co[105];int N, M;void cut(){ int left, right, result; for( int a = -500; a <= 500; a ++) 阅读全文
posted @ 2012-01-14 22:18 找回失去的 阅读(311) 评论(0) 推荐(0)
摘要: 按字典序从小到大输出字符串的全排列,白书的7.2刚好讲到生成可重集的排列,所以参考白书上的代码写了个函数,具体操作过程是先将字符串中的所有字符按字典序排序,然后调用print_permutation( len, s, a, 0)即可。void print_permutation( int len, char *P, char *A, int cur){ if( cur == len) { for( int i = 0; i < len; i ++) printf( "%c", A[i]); printf( "\n"); } else for( in 阅读全文
posted @ 2012-01-14 22:17 找回失去的 阅读(579) 评论(0) 推荐(0)
摘要: 这道题要求生成给出字符串的下一个字典序字符串,首先我们先判断是否存在这样的一个字符串,如果一个字符串的前一个字符总是比后一个字符大的话,那么是不存在下一个字典序的。我们从后面开始查找,直到找到一个前面的字符比后面的小,然后在找到的这个字符到字符串结尾的区间做变换从后往前,首字符和比它大的字符做交换,交换的最后结果是找到了比首字符大一点的字符,然后将该区间内除首字符的其他字符按字典序排序。即找到这个区间内下一个首字符的最小字典序。不用库函数的写法:#include<cstdio>#include<cstring>#include<cstdlib>char s[ 阅读全文
posted @ 2012-01-14 22:13 找回失去的 阅读(1152) 评论(0) 推荐(0)
摘要: 这道题要计算的是最长的有牛被挤奶的时间和最长的没有牛被挤奶的时间。首先用结构体存储每头牛的起止时间。然后按照开始时间升序排序。定义一个cur的结构体表示当前工作的起止时间,t =cur.end - cur.begin;代表的是工作的时间,然后当milk[i].begin > cur.end时,一段连续的工作时间被终止了,则t=cur.begin-milk[i].end是一段没有工作的时间。每计算出一段时间就和当前的最大时间比较,然后更新最大时间。/*ID:yucept21LANG:C++TASK:milk2*/#include<cstdio>#include<cstri 阅读全文
posted @ 2012-01-14 15:05 找回失去的 阅读(157) 评论(0) 推荐(0)
摘要: 这道题要计算将项链切断,然后从两端收集的相同的颜色的珠子数,两端的颜色可以不同,但是同一端的必须一样。我先讲字符串复制了一遍加到原来的字符串后面,然后把两个同样的项链放在一块,从头开始用两个变量(变量)a,b记录自左方某点至目前为止可搜集到之两种颜色珠子数,取途中所出现a+b之最大值,遇颜色变换时再将b指定给a即可,w也可以直接计数。/*ID:yucept21LANG:C++TASK:beads*/#include<cstdio>#include<cstring>#include<cstdlib>int main(){ freopen( "bead 阅读全文
posted @ 2012-01-14 15:04 找回失去的 阅读(159) 评论(0) 推荐(0)
摘要: 这道题是要计算从1900 到 1900 + N – 1年间的每个月的13号是星期五的频率,实际要求输出的是一个星期中每天出现的次数。首先确定的是平年还是闰年,然后用两个数组存储平年和闰年的每月的天数。明确一点就是从当前月到下一个的13号之间的天数就是当前月的天数,先确定上次13号是星期几,再加上当月的天数mod 7得到的就是下一次13号是星期几, 星期天则得到的数字是0,例如第一次1月13号是星期6,然后加上31对7 取余,得到下次是星期二。注意一点:到1900+N-1年时的最后一个月就不要加了,因为再加就是下一年了。最后循环求出结果即可。/*ID:yucept21LANG:C++TASK:f 阅读全文
posted @ 2012-01-14 15:03 找回失去的 阅读(167) 评论(0) 推荐(0)
摘要: 这道题的题目要求是求每个人收到礼物的总价值和送出去礼物总价值的差值。关键点是每个人送出的礼物总价值和送给人数存在整除的关系,所以处理的时候要注意/和%的区别,然后用strcmp找到送或者收到礼物的人,在结构体数组相应的money加上或者减去相应的金额。/*ID:yucept21LANG:C++TASK:gift1*/#include<cstdio>#include<cstring>#include<cstdlib>int N;typedef struct p{ char na[15]; int ney;}G;G tt[15];void init(){ sca 阅读全文
posted @ 2012-01-14 15:02 找回失去的 阅读(150) 评论(0) 推荐(0)
摘要: 这道题是比较两个字符串根据A = 1,Z = 26这种关系来进行乘法运算得到的值a和bMod 47之后值的关系,相等输出“GO”,不相等输出“STAY”。/*ID:yucept21LANG:C++TASK:ride*/#include<cstdio>#include<cstring>#include<cstdlib>int main(){ freopen( "ride.in", "r", stdin); freopen( "ride.out", "w", stdout); cha 阅读全文
posted @ 2012-01-14 15:01 找回失去的 阅读(163) 评论(0) 推荐(0)