解题思路:
以坐标绝对值最大的划分正方形个数,之前的都是正方形
参考代码:
#include<bits/stdc++.h> using namespace std; #define int long long int x,y,q,ans; int main() { cin>>x>>y; int q=max(abs(x),abs(y)); ans=1+4*(q*(q-1)); if(x==-q&&y==-q) ans=ans+8*q-1; else if(x==-q) ans=ans+(y+q-1); else if(y==q) ans=ans+(2*q-1+x+q); else if(x==q) ans=ans+(4*q-1+q-y); else if(y==-q) ans=ans+(6*q-1+q-x); cout<<ans; }
0.0分
1 人评分
校门外的树 (C语言代码)浏览:716 |
大神老白 (C语言代码)浏览:715 |
数组输出 (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:479 |
C语言训练-求素数问题 (C语言代码)浏览:727 |
九宫重排 (C++代码)浏览:2160 |
这可能是一个假的冒泡法浏览:986 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:902 |
DNA (C语言代码)浏览:393 |