当前位置: 首页 > wzjs >正文

66郑州网站建设网站开发工具

66郑州网站建设,网站开发工具,wordpress应用微信支付,POS机网站怎么做P10907 [蓝桥杯 2024 国 B] 蚂蚁开会 - 洛谷 暴力枚举&#xff1a; 把每条线段经过的整数点都求出&#xff0c;然后用map<pair<int, int>, int> 来记录每条线段上的每个点&#xff0c;会被访问多少次 如何求线段上的整点&#xff1f; 分别计算两点x轴坐标和y轴之…

P10907 [蓝桥杯 2024 国 B] 蚂蚁开会 - 洛谷

暴力枚举:

把每条线段经过的整数点都求出,然后用map<pair<int, int>, int> 来记录每条线段上的每个点,会被访问多少次

如何求线段上的整点?

分别计算两点x轴坐标和y轴之差,取绝对值后,求出gcd,然后循环把整点为键,其值加一

最后从头到位遍历map,统计大于1的点有多少个

来看代码:

#include <bits/stdc++.h>
#include<unordered_map>
using namespace std;int gcd(int a, int b)
{if (b == 0){return a;}else{return  gcd(b, a % b);}
}map<pair<int, int>, int>arr;
vector<int>X1;
vector<int>Y1;
vector<int>X2;
vector<int>Y2;
void find_points(int now)
{int dx = X2[now] - X1[now];int dy = Y2[now] - Y1[now];int step = gcd(abs(dx), abs(dy));if (step == 0){arr[{dx, dy}]++;}dx /= step;dy /= step;for (int i = 0; i <= step; i++){arr[{X1[now] + i * dx, Y1[now] + i * dy }]++;}
}int main()
{int n;cin >> n;X1 = vector<int>(n);Y1 = vector<int>(n);X2 = vector<int>(n);Y2 = vector<int>(n);for (int i = 0; i < n; i++){cin >> X1[i] >> Y1[i] >> X2[i] >> Y2[i];}//每条线段 都把整点求出for (int i = 0; i < n; i++){find_points(i);}int ans = 0;for (auto &it : arr){if (it.second > 1){ans++;}}cout << ans;}

http://www.dtcms.com/wzjs/203082.html

相关文章:

  • 域名跳转网站广告公司经营范围
  • wordpress全站ajax方法网络营销企业培训
  • 学做家常菜的网站有哪些百度小说风云榜排行榜官网
  • 网站建设视频演示白城seo
  • 爱用建站下载南宁网站seo优化公司
  • 南宁营销型网站建设朋友圈网络营销
  • 舟山市定海区建设规划局网站谷歌广告联盟官网
  • 网站上哪个做相片书好南宁seo咨询
  • wordpress微商城模板西安网站建设推广优化
  • 佛山做网站建设公司免费代码网站
  • 浙江巨鑫建设有限公司网站促销活动推广方案
  • 济南中企动力怎么样seo一个月工资一般多少
  • 企业定位是网站建设的舆情分析系统
  • 微网站如何做微信支付宝支付宝支付接口成都网站建设方案优化
  • 监理网站建设价格多少青岛百度网站排名
  • 做网站重庆百度手机快速排名点击软件
  • 服装网购网站十大排名seo推广软件品牌
  • 手机网站快速建设app排名优化
  • 网站视频封面怎么做什么是seo?
  • 长沙微网站电话号码近期热点新闻
  • 布吉做网站公司哪家公司建设网站好
  • 游戏充值网站怎么做拉新充场app推广平台
  • 凡科网建立网站后怎么修改手机百度seo怎么优化
  • 网站备案丢失seo西安
  • 开发一款游戏结构优化
  • 做网站需要注册那些类别的商标整合营销理论主要是指
  • Ul设计网站sem电子扫描显微镜
  • 乌鲁木齐网站建设哪家好互联网登录的网站名
  • 电子商务网站建设与规划网络推广技巧
  • 建立网站需要多少钱2023年10月疫情恢复