Pagini recente » Cod sursa (job #3175136) | Cod sursa (job #2983867) | Cod sursa (job #1726927) | Cod sursa (job #2633930) | Cod sursa (job #2468557)
//ALEXANDRU MICLEA
#include <vector>
#include <algorithm>
#include <string>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>
#include <numeric>
#include <utility>
using namespace std;
#include <fstream>
ifstream cin("perfect2.in");
ofstream cout("perfect2.out");
pair <int, int> A[200100];
int c, n;
int euclid(int a, int b) {
if (b == 0) {
return a;
}
else {
return euclid(b, a % b);
}
}
void segperf() {
int ans = 0;
for (int i = 2; i <= n; i++) {
A[i].first -= A[1].first;
A[i].first = abs(A[i].first);
A[i].second -= A[1].second;
A[i].second = abs(A[i].second);
if (euclid(A[i].first, A[i].second) == 1) {
ans++;
}
}
cout << ans;
}
void ariemin() {
int minx = 5000, miny = 5000,maxx = 0, maxy = 0;
for (int i = 1; i <= n; i++) {
minx = min(minx, A[i].first);
miny = min(miny, A[i].second);
maxx = max(maxx, A[i].first);
maxy = max(maxy, A[i].second);
}
cout << minx << " " << miny << " ";
cout << maxx << " " << maxy;
}
int main() {
cin >> c >> n;
for (int i = 1; i <= n; i++) {
cin >> A[i].first >> A[i].second;
}
if (c == 1) {
ariemin();
}
else {
segperf();
}
return 0;
}