| 15888 | 2025-03-07 13:44:18 | HolloG | Plagiarism Detection | cpp17 | Elfogadva 100/100 | 185ms | 2516 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
struct note {
int d;
int p;
//auto operator == (note x, note y){return (x.d == y.d) && (x.p == y.p);}
};
vector<note> g, a;
bool trans (int x, int y){
double dt; bool dg; bool r = true;
if (g[x].d > a[x].d) {dt = (double)g[x].d/(double)a[x].d; dg = true;}
else {dt = (double)a[x].d/(double)g[x].d; dg = false;}
int pt = g[x].p - a[x].p;
//cout << pt << " " << dt << endl;
for (int i = x; i <= y; i++){
if (g[i].p - a[i].p != pt) r = false;
if (dt == 2) {
if (dg){
if (a[i].d * dt != g[i].d) r = false;
}
else {
if (g[i].d * dt != a[i].d) r = false;
}
}
else if(dt != 1) r = false;
}
if (r == true) return r;
r = true;
if (g[x].d > a[y].d) {dt = (double)g[x].d/(double)a[y].d; dg = true;}
else {dt = (double)a[y].d/(double)g[x].d; dg = false;}
pt = g[x].p - a[y].p;
//cout << pt << " " << dt << " " << dg << endl;
for (int i = x; i <= y; i++){
//cout << g[i].p << " " << a[y-i+x].p << "\n";
if (g[i].p - a[y-i+x].p != pt) r = false;
if (dt == 2) {
if (dg){
if (a[y-i+x].d * dt != g[i].d) r = false;
}
else {
if (g[i].d * dt != a[y-i+x].d) r = false;
}
}
else if(dt != 1) r = false;
}
return r;
}
int main() {
int n, v; cin >> n >> v;
for (int i = 0; i < n; i++){
int d, p; cin >> d >> p;
g.push_back({d, p});
}
for (int i = 0; i < n; i++){
int d, p; cin >> d >> p;
a.push_back({d, p});
}
int y = -1;
int x = -1;
for (int i = 0; i < n; i++){
if (g[i].p != a[i].p || g[i].d != a[i].d){
x = i;
break;
};
}
if (x == -1){
cout << "SAME";
return 0;
}
for (int i = n-1; i >= 0; i--){
if (g[i].p != a[i].p || g[i].d != a[i].d){
y = i;
break;
};
}
//cout << x << " " << y << endl;
if (trans(x, y)){
cout << "TRANSFORMED " << y-x+1;
}
else {
cout << "ORIGINAL " << y-x+1;
}
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1ms | 316 KiB | ||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 20/20 | ||||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 500 KiB | ||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 2ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 328 KiB | ||||
| subtask3 | 15/15 | ||||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 2ms | 316 KiB | ||||
| 15 | Elfogadva | 2ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 408 KiB | ||||
| 17 | Elfogadva | 2ms | 316 KiB | ||||
| 18 | Elfogadva | 2ms | 316 KiB | ||||
| 19 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 25/25 | ||||||
| 20 | Elfogadva | 10ms | 564 KiB | ||||
| 21 | Elfogadva | 8ms | 564 KiB | ||||
| 22 | Elfogadva | 10ms | 564 KiB | ||||
| 23 | Elfogadva | 6ms | 316 KiB | ||||
| 24 | Elfogadva | 8ms | 524 KiB | ||||
| 25 | Elfogadva | 6ms | 508 KiB | ||||
| 26 | Elfogadva | 1ms | 508 KiB | ||||
| 27 | Elfogadva | 6ms | 316 KiB | ||||
| subtask5 | 10/10 | ||||||
| 28 | Elfogadva | 105ms | 2464 KiB | ||||
| 29 | Elfogadva | 57ms | 1456 KiB | ||||
| 30 | Elfogadva | 115ms | 2472 KiB | ||||
| 31 | Elfogadva | 103ms | 2472 KiB | ||||
| 32 | Elfogadva | 1ms | 316 KiB | ||||
| 33 | Elfogadva | 115ms | 2516 KiB | ||||
| 34 | Elfogadva | 85ms | 2472 KiB | ||||
| 35 | Elfogadva | 93ms | 2472 KiB | ||||
| subtask6 | 30/30 | ||||||
| 36 | Elfogadva | 114ms | 1556 KiB | ||||
| 37 | Elfogadva | 52ms | 944 KiB | ||||
| 38 | Elfogadva | 156ms | 2468 KiB | ||||
| 39 | Elfogadva | 144ms | 2472 KiB | ||||
| 40 | Elfogadva | 185ms | 2468 KiB | ||||
| 41 | Elfogadva | 82ms | 1452 KiB | ||||
| 42 | Elfogadva | 1ms | 316 KiB | ||||
| 43 | Elfogadva | 167ms | 2516 KiB | ||||