随笔分类 -  ACM程序设计

面向ACM程序设计大赛的一些算法实现,以及在浙大ACM平台上的一些解题报告
摘要:题目大意:本题给我们人体的三个参数的周期,然后现在我们输入3个参数的高峰期时间,以及现在的时间,让我们输出下一个反生三个参数高峰期在哪一天的时间#include<stdio.h>int main(){int n;int p,e,i,d,k,cont;scanf("%d",&n); //输入测试组数while(n--){cont=0;while(scanf("%d%d%d%d",&p,&e,&i,&d)&&p!=-1) //输入当前波峰时各个参数的时间,以及现在的时间{cont++;k=p 阅读全文
posted @ 2011-12-14 08:58 弄月吟风 阅读(176) 评论(0) 推荐(0)
摘要:该属于简单题,但涉及一个取整或许有所麻烦,精确解应该是求出平均值,再求偏差绝对值和除 2。这里由于精确到分,求出平均值 mean,按分求出 ceil 和 floor 的值。然后对于每个人,若钱 < mean,求与 floor 偏差绝对值加到总和中,否则与 ceil 求。另外,记录偏差(不取绝对值总和),如果最后总偏差不为 0,要将总偏差绝对值加到总和中。最后输出总和一半即可。#include<stdio.h>int main(){int n,i;double money[1005];double sum1,sum2,p,p1,p2;while(scanf("%d&q 阅读全文
posted @ 2011-12-14 08:33 弄月吟风 阅读(150) 评论(0) 推荐(0)
摘要:题目大意:这是一个倒水的问题,有A,B两个杯子,现要你通过往A,B杯子中倒水,然后得到题目中所需要的水量,注意:题目要求的水量最后是放在B杯子中的,还有倒水的解不唯一; 1 #include<stdio.h> 2 int main() 3 { 4 int a,b,n,temp1,temp2; 5 while(scanf("%d%d%d",&a,&b,&n)!=EOF) 6 { 7 temp1=temp2=0; 8 while(1) 9 {10 if(temp1==0)11 {12 printf("fill A\n"); 阅读全文
posted @ 2011-12-13 22:08 弄月吟风 阅读(175) 评论(0) 推荐(0)
摘要:#include<stdio.h>#include<string.h>char c[2000];//全局变量,存储大数运算的结果char arr[1000];//高精度除以高精度的余数long z=0;//高精度除以低精度的余数int Judge(char ch[]){//判断字符串ch是否全为,若全为,返回,否则返回 int i,k; k=strlen(ch); for(i=0;i<k;i++) if(ch[i]!='0') return 0; return 1;}int Compare(char a[],char b[]){//比较字符串的大小 阅读全文
posted @ 2011-11-20 11:45 弄月吟风 阅读(2579) 评论(0) 推荐(0)
摘要:1 /*求n个数的的最小公倍数,这里运用了辗转相除法*/ 2 3 #include <stdio.h> 4 5 int gcd(int a,int b) //最大公约数算法 6 7 { 8 9 if(a%b==0)10 11 return b;12 13 else return14 15 gcd(b,a%b);16 17 }18 19 int lcm(int a,int b) //最小公倍数(两数相乘后除以最大公约数)20 21 {22 23 return a/gcd(a,b)*b; //注意先... 阅读全文
posted @ 2011-11-20 11:33 弄月吟风 阅读(215) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 6 7 #define SWAP(i,j) {int t=(i);(i)=(j);(j)=t;} 8 9 10 11 //插入排序 12 13 void InsertSort(int*a,int len) 14 15 { 16 17 for (int i=1;i<len;i++) 18 19 { 20 21 int j=i,x=a[i]; 22 23 while (j && a[j-1]>x)a[... 阅读全文
posted @ 2011-11-20 11:18 弄月吟风 阅读(224) 评论(0) 推荐(0)