博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3090 Visible Lattice Points (ZOJ 2777)
阅读量:4709 次
发布时间:2019-06-10

本文共 672 字,大约阅读时间需要 2 分钟。

题目大意:

给你一个坐标系和一个范围,求x、y在[0,N]这个范围内,未被挡住点的个数。

被挡住的点定义为:从原点引一条射线到某个点,若之前经过其他的点,则被挡住。

思路:

未被挡住的一定是互质的(由斜率可以想到)

然后直接打表吧。

#include
const int MAXN=1002;bool vis[MAXN][MAXN]={0};int gcd(int x,int y){ return y==0? x : gcd(y,x%y);}int main(){ for(int i=1;i<=1000;i++) { for(int j=1;j<=i;j++) if(gcd(i,j)==1) //互质一定不会经过 vis[i][j]=true; } int T; scanf("%d",&T); for(int ri=1;ri<=T;ri++) { int n; scanf("%d",&n); int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) if(vis[i][j]==1) ans++; } ans++; //(1,0)的情况 ans<<=1;//ans *=2;我只算半边 ans--;//(1,1)算两次 printf("%d %d %d\n",ri,n,ans); }}

转载于:https://www.cnblogs.com/murmured/p/5004176.html

你可能感兴趣的文章
(转)nginx应用总结(1)--基础认识和应用参数优化配置
查看>>
(转)关于sql和MySQL的语句执行顺序(必看!!!)
查看>>
UVALive 3668 A Funny Stone Game(博弈)
查看>>
信息论随笔2: 交叉熵、相对熵
查看>>
再学习之MyBatis.
查看>>
CodeWars题目筛选
查看>>
MySQL— 索引
查看>>
电子书下载:Professional Web Design: Techniques and Templates, 4th Edition
查看>>
10要点解决IE6兼容性问题
查看>>
Seven Python Tools All Data Scientists Should Know How to Use
查看>>
cocos2d-x学习之路(二)——分析AppDelegate和HelloWorldScene文件
查看>>
Asp.net 对于服务器控件添加Client端方法
查看>>
在Salesforce中创建Approval Process
查看>>
NFS服务搭建与配置
查看>>
python计算文件md5值
查看>>
android 4.1 Emulator Skins
查看>>
Web站点防注入注意事项(转)
查看>>
第0次作业
查看>>
广播接收器——接收系统广播
查看>>
亿能测试资讯_2013-8-11
查看>>