POJ 3090 Visible Lattice Points (ZOJ 2777)
2024-08-31 16:15:59
http://poj.org/problem?id=3090
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1777
题目大意:
给你一个坐标系和一个范围,求x、y在[0,N]这个范围内,未被挡住点的个数。
被挡住的点定义为:从原点引一条射线到某个点,若之前经过其他的点,则被挡住。
思路:
未被挡住的一定是互质的(由斜率可以想到)
然后直接打表吧。
#include<cstdio>
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);
} }
最新文章
- 捷波朗 jabra BT3030 蓝牙耳机
- TCPCopy使用
- saltstack故障解决
- wamp集成环境 开启rewrite伪静态支持
- 一些比较好的shellscript脚本
- AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)
- ubuntu下安装nodejs
- 在Centos7上安装漏洞扫描软件Nessus
- Swift基础语法-内存管理, 自动引用计数
- 运行所选代码生成器时出错:无效指针(异常来自HRESULT:0x80004003(E_POINTER))
- H. 硬币的水问题II
- 博客发在win10.me
- JavaScript中的typeof
- ftruncate
- 玩转MQTT-阿里云之MQTT使用
- MYSQL批量删除大量数据
- Python3内置函数——reversed() = 翻转我的世界
- 20170523xlVBA多条件分类求和一例
- 【STM32H7教程】第14章 STM32H7的电源,复位和时钟系统
- python操作数据库(Mysql)
热门文章
- Kinect 开发 —— Kinect Interaction 交互控件
- mac: brew的删除
- readonly&;&;declare&;&;unset &;&;export&;&;env环境变量
- 多线程编程(二)--进程&;amp;&;amp;线程
- 数据结构基础(3)---C语言实现单链表
- android 自己定义控件属性(TypedArray以及attrs解释)
- sqlserver存储过程实现多表分页
- Android学习笔记进阶14之像素操作
- android图像处理系列之四--给图片添加边框(上)
- 33.Node.js 文件系统fs