洛谷p2239 螺旋矩阵
来源:互联网 发布:河北省网络行政学院 编辑:程序博客网 时间:2024/05/20 18:55
数据范围这么大,模拟绝对tle。于是考虑数学方法。
先一圈圈搜索,找到所求坐标所在的那一圈,再判断。
对于
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
第一圈的数有1~12,他们的特点是横坐标在第一或倒数第一行,或纵坐标在第一或倒数第一列。
第二圈同理。
#include<bits/stdc++.h>using namespace std;long long n,i,j,s=0; void dfs(long long x,long long y){int a=1,t=n-1;bool flag=true;//t是当前圈的计数标记,如对于n=4,第一圈有3*4个数,第二圈有1*4个数while(flag)//寻找所求坐标所在的那一圈{if(a==x||n-a+1==x||a==y||n-a+1==y)flag=false;if(flag)//如果不在当前一圈,s加上当前一圈的数的个数,并准备搜下一圈{ a++;s=s+4*t;t-=2;}}if(a==x)s=s+y-a+1;//所求坐标在当前的一圈,进行计数,建议配合矩阵进行思考,并思考为什么要用elseelse if(n-a+1==x)s=s+t*2+n-a+1-y+1;else if(a==y)s=s+t*4-(x-a-1);else s=s+t+x-a+1;return;}int main(){scanf("%lld%lld%lld",&n,&i,&j);dfs(i,j);printf("%lld",s);return 0;}
阅读全文
0 0
- 洛谷 P2239 螺旋矩阵
- 洛谷p2239 螺旋矩阵
- 【题解】2014 螺旋矩阵(P2239)
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵!
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵:)
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- 螺旋矩阵
- TCP协议原理详解
- 数据离散化模板(用STL实现)
- 谈谈谷歌word2vec的原理
- python使用 UTF-8编码
- 机翼的翼型和升力
- 洛谷p2239 螺旋矩阵
- 动态规划
- vue组件中$emit()的作用
- 0-1背包问题
- 链接器
- DOM文档对象模型
- 【PAT】【Advanced Level】1063. Set Similarity (25)
- 为什么不要问我DB极限QPS/TPS
- 测试小故事38:时间不够测不了