`
linest
  • 浏览: 151142 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

ZOJ-1414 二维数字排列

    博客分类:
  • acm
 
阅读更多


1414:给出前面几个数排列规律。任给一对坐标,求对应的数字是多少。


利用周期性求解。用倍数关系化归到给出的排列上。
除法和取模的综合应用。
#include<iostream>
using namespace std;

int val[8][7];

int cal(int x,int y)
{
	int p=y/6;
	int v=val[x%6][y%6];
	return v+12*p;
}

int main()
{
	//y=x
	//y=x-2
	//12个数一个周期
	//纵向6个数为周期
	val[0][0]=0;
	val[1][1]=1;
	val[2][0]=2;
	val[3][1]=3;
	val[2][2]=4;
	val[3][3]=5;
	val[4][2]=6;
	val[5][3]=7;
	val[4][4]=8;
	val[5][5]=9;
	val[6][4]=10;
	val[7][5]=11;
	//val[6][6]=12;

    int n;
	int x;
	int y;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>x;
		cin>>y;
		if(y==x||y==x-2)
			cout<<cal(x,y)<<endl;
		else
			cout<<"No Number"<<endl;
	}
	
}
  • 大小: 2.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics