解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; typedef pair<int,int> PI; map<PI,int>M; map<PI,bool>vis; int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b); } int n; int ans = 0; int main(){ cin >> n; for(int i = 1 ; i <= n ; i ++){ int x1,y1,x2,y2; cin >> x1 >> y1 >> x2 >> y2; int g = gcd(abs(x1-x2),abs(y1-y2)); int ax = (x2-x1)/g; int ay = (y2-y1)/g; while(x1 != x2 || y1 != y2){ M[PI(x1,y1)]++; if(M[PI(x1,y1)] >= 2 && !vis[PI(x1,y1)]){ ans ++; vis[PI(x1,y1)] = 1; } x1 += ax; y1 += ay; } M[{x2,y2}]++; if(M[PI(x2,y2)] >= 2&& !vis[PI(x2,y2)]){ ans ++; vis[PI(x2,y2)] = 1; } } cout << ans <<endl; return 0; }
0.0分
8 人评分
点我有惊喜!你懂得!浏览:1437 |
矩形面积交 (C语言代码)浏览:1553 |
川哥的吩咐 (C++代码)浏览:1076 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:417 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:702 |
【出圈】 (C语言代码)浏览:824 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:400 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:822 |
WU-图形输出 (C++代码)浏览:836 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1464 |