私信TA

用户名:wowowow

访问量:5519

签 名:

等  级
排  名 1860
经  验 2596
参赛次数 1
文章发表 9
年  龄 0
在职情况 学生
学  校
专  业 软件工程

  自我简介:

脑袋要炸

解题思路:当w=6,m=14,n=5

列数相减+横坐标(5-2)

Snipaste_2021-04-11_17-45-26.png


参考代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
	int w,m,n;
	cin>>w>>m>>n;
	
	//m,n在哪列,从0列开始
	int my=(m-1)/w; 
	int ny=(n-1)/w;
	
	//mx和nx化成的第0列坐标 
	int mx=m-my*w;
	int nx=n-ny*w;
	//奇偶列不同时,倒置一下 
	if((my+ny)%2!=0)  
	    nx=w-nx+1;
	
	//横坐标相差加列坐标相差 
	cout<<abs(mx-nx)+abs(my-ny);
	return 0;
}


 

0.0分

3 人评分

  评论区

  • «
  • »