您的位置:首页 > 其它

POJ 3752 字母旋转游戏

2013-05-17 22:41 260 查看
字母旋转游戏
Time Limit: 1000MSMemory Limit: 65536K
Total Submissions: 7053Accepted: 2642
Description 给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值为A至Z的26个字母中的一个,A在左上角,其余各数按顺时针方向旋转前进,依次递增放置,当超过26时又从A开始填充。例如,当M=5,N=8时,矩阵中的内容如下:
A   B   C   D   E   F   G   H
    V   W   X   Y   Z   A   B   I
    U   J   K   L   M   N   C   J
    T   I   H   G   F   E   D   K
    S   R   Q   P   O   N   M   L
Input M为行数,N为列数,其中M,N都为大于0的整数。 Output 分行输出相应的结果 Sample Input
4 9
Sample Output
A   B   C   D   E   F   G   H   I
   V   W   X   Y   Z   A   B   C   J
   U   J   I   H   G   F   E   D   K
   T   S   R   Q   P   O   N   M   L

水题一道,初学C语言二维数组时写的蛇形矩阵
个人认为自己代码写的还是蛮漂亮的,最早是在刘汝佳的《算法竞赛入门经典》上看到这种写法




1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 
 5 using namespace std;
 6 
 7 const double pi=3.141592653589793;
 8 
 9 double length(double x1,double y1,double x2,double y2)
10 {
11     return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
12 }
13 
14 int main()
15 {
16     double x1,y1,x2,y2,x3,y3,a,b,c,p,S,D,C;
17 
18     while(cin>>x1>>y1>>x2>>y2>>x3>>y3)
19     {
20         a=length(x1,y1,x2,y2);
21         b=length(x2,y2,x3,y3);
22         c=length(x3,y3,x1,y1);
23         p=(a+b+c)/2;
24         S=sqrt(p*(p-a)*(p-b)*(p-c));
25         D=a*b*c/2/S;
26         C=pi*D;
27         printf("%.2f\n",C);
28     }
29 
30     return 0;
31 }
[C]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: