摘要: #include#include#includeint main(){int n;scanf("%d",&n);int a[80],b[80],c[80],d[80];char str[200];while(n--){memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));memset(d,0,sizeof(d));memset(str,0,sizeof(str));scanf("%s",str);int i,j,t1=0,t2=0,t3=0,t4=0;for(j=0;j 阅读全文
posted @ 2013-07-27 11:01 清风旋叶 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 你有一块椭圆的土地,你可以在边界上选n个点,并两两链接得到n*(n-1)/2条线段。它们最多能把土地分为多少个部分?样例输入:4样例输出:8分析:欧拉公式:V-E+F=2。V是顶点数,F是面数(即土地块数加上最外面那个面),E是边数。只要求出V,E,答案就是E-V+1。不管是顶点还是边,计算时都要枚举一条从固定点出发(所以,最后要乘以n)的所有对角线。假设该对角线的左边有i个点,右边有n-2-i个点,则左右两边的点两两搭配后在对角线上形成了i*(n-2-i)个交点,得到了i*(n-2-i)+1个线段。注意,每个交点被重复计算了4次,每个线段被重复计算了2次。因为一个交点有两个线段相交而成,共有 阅读全文
posted @ 2013-07-27 10:58 清风旋叶 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1.设变量x为float型且已赋值,则下列语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是 x=(int)(x*100+0.5)/100.0 例题,Financial Management(通师邀请赛正式赛第一题) 代码:#include#include#includeusing namespace std;#define n 12int main(){ float a[n]; float sum=0,ans=0,aver=0; memset(a,0,sizeof(a));for(int i=0;i。4.开灯问题 代码:#include#includeint a[1020];in 阅读全文
posted @ 2013-07-27 10:40 清风旋叶 阅读(228) 评论(0) 推荐(0) 编辑
摘要: #include#includechar s[20];int is_prime(int x){ int n; sprintf(s,"%d",x); n=strlen(s); for(int i=0;i"); printf("%d",num[j]); } break; } cnt++; } printf("\n"); } return 0;} 阅读全文
posted @ 2013-07-27 10:38 清风旋叶 阅读(188) 评论(0) 推荐(0) 编辑
摘要: #includeint main(){char c,d;int n,N;scanf("%d",&N);getchar();//回车符要处理;while(N--){ n=1; d=getchar(); while((c=getchar())!='\n') { if(c==d){n++;} else{if(n==1)printf("%c",d); elseprintf("%d%c",n,d);d=c;n=1; } } if(n==1) printf("%c\n",d); else printf( 阅读全文
posted @ 2013-07-27 10:36 清风旋叶 阅读(110) 评论(0) 推荐(0) 编辑
摘要: #include#includedouble area(double x0,double y0,double x1,double y1,double x2,double y2){ return fabs((x0*y1+x2*y0+x1*y2-x2*y1-x0*y2-x1*y0));}int main(){ double x0, y0, x1, y1,x2, y2,S; int n; int count; scanf("%d",&n); while(n--) { count=0; scanf("%lf%lf%lf%lf%lf%lf",&x0 阅读全文
posted @ 2013-07-27 10:33 清风旋叶 阅读(167) 评论(0) 推荐(0) 编辑
摘要: #includeint is_prime(int x){ for(int i=2;i*i<=x;i++) if(x%i==0) return 0; return 1;}int prime[200],cnt=0;void get_prime(){ for(int i=2;i<=100;i++) if(is_prime(i)) prime[cnt++]=i;}int main(){ get_prime(); for(int i=0;i<cnt;i++) printf("%d ",prime[i]); return 0;} 阅读全文
posted @ 2013-07-27 10:31 清风旋叶 阅读(160) 评论(0) 推荐(0) 编辑