山东理工大学-2012秋季ACM集训队测试赛4-I-矩形回旋
2012-12-08 18:12
225 查看
有一个由 n*m(n是行数,m为列数) 的方格组成的矩形阵列。
现在从左上角开始顺时针旋转走动,遇到矩形边框或者遇到已经过的方格就转向继续,直到走完所有方格。求最后结束点的坐标(横坐标位置从1到m,纵坐标从1到n)。
矩阵回旋,要比较输入的两个数的大小,按小的来走,然后判断小的的奇偶性。
#include<stdio.h>
int nn,mm;
int p(int a,int b)
{
if(a%2)
{
nn=(a+1)/2;
mm=b-(a/2);
}
}
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
if(n<=m)
{
if(n%2==0)
{
printf("%d %d\n",n/2+1,n/2);
}
else
{
p(n,m);
printf("%d %d\n",nn,mm);
}
}
else
{
if(m%2==0)
{
printf("%d %d\n",m/2+1,m/2);
}
else
{
p(m,n);
printf("%d %d\n",mm,nn);
}
}
}
return 0;
}
现在从左上角开始顺时针旋转走动,遇到矩形边框或者遇到已经过的方格就转向继续,直到走完所有方格。求最后结束点的坐标(横坐标位置从1到m,纵坐标从1到n)。
矩阵回旋,要比较输入的两个数的大小,按小的来走,然后判断小的的奇偶性。
#include<stdio.h>
int nn,mm;
int p(int a,int b)
{
if(a%2)
{
nn=(a+1)/2;
mm=b-(a/2);
}
}
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
if(n<=m)
{
if(n%2==0)
{
printf("%d %d\n",n/2+1,n/2);
}
else
{
p(n,m);
printf("%d %d\n",nn,mm);
}
}
else
{
if(m%2==0)
{
printf("%d %d\n",m/2+1,m/2);
}
else
{
p(m,n);
printf("%d %d\n",mm,nn);
}
}
}
return 0;
}
相关文章推荐
- 山东理工大学-2012秋季ACM集训队测试赛4-F-多项式求和
- 山东理工大学ACM平台题答案关于C语言 1292 图形打印
- 山东理工大学ACM平台题答案关于C语言 1227 等值数目
- ACM中国国家集训队论文集目录(1999-2009)
- 山东理工大学ACM平台题答案关于C语言 2251 期末考试之分等级
- 【2012 ACM-ICPC 长春 Onsite】长春失利总结
- 2012 ACM 成都之行
- 山东理工大学第七届ACM校赛-G 飞花的传送门
- hdu 4473 Exam (2012ACM成都赛区现场赛J题)
- 山东理工大学第七届ACM校赛-飞花的糖果
- ACM-ICPC Dhaka Regional 2012 题解
- 【组合数学】Pole Arrangement, ACM/ICPC Daejeon 2012, UVa1638
- HDOJ1698 Just a hook【线段树---成段更新---lazy标志】-----武科大ACM暑期集训队选拔赛4题
- ACM/ICPC World Finals 2012 B Curvy Little Bottles
- CROC-MBTU 2012, Elimination Round (ACM-ICPC)
- CROC-MBTU 2012, Elimination Round (ACM-ICPC)
- [2012山东ACM省赛] Fruit Ninja II (三重积分,椭球体积)
- 北航 2012 秋季 现代软件工程 团队项目要求
- 2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest
- CocoaChina2012(秋季)开发者大会