2 条题解
-
1
这题属实有点
简单难。#include<bits/stdc++.h> using namespace std; long long int n,i,j; int main(){ freopen("matrix.in","r",stdin); freopen("matrix.out","w",stdout); cin>>n>>i>>j; long long int l=min(min(i,n+1-i),min(j,n+1-j)); long long int r=4*(l-1)*(n-l+1);//上一个正方形的结尾数字 if(i==l) r+=j-l+1; else if(j==l) r=4*l*(n-l)+(l-i+1); else if(i==n-l+1) r+=(n-2*l+1)*2+(n+1-j)-l+1; else if(j==n-l+1) r+=n-2*(l-1)+i-l; cout<<r;//答案 return 0; }
求点赞😕。
-
0
#include<iostream> using namespace std; int n,x,y; int solve(int n,int x,int y) { if(x==1){ return y; } if(y==n) { return n-1+x; } if(x==n) { return 3*n-1-y; } if(y==1) { return 4*n-2-x; } return 4*(n-1)+solve(n-2,x-1,y-1); } int main(){ cin>>n>>x>>y; cout<<solve(n,x,y)<<endl; return 0; }
- 1
信息
- ID
- 551
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 41
- 已通过
- 13
- 上传者