| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 100666 | cki86201 | 움직이는 개미 (IZhO12_ants) | C++11 | 3 ms | 512 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#include <math.h>
#include <assert.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <string>
#include <algorithm>
#include <iostream>
#include <functional>
#include <unordered_set>
#include <bitset>
#include <time.h>
#include <limits.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define szz(x) (int)x.size()
#define rep(i,n) for(int i=0;i<n;i++)
#define all(x) x.begin(),x.end()
typedef tuple<int, int, int> t3;
int W, H, K, T;
vector <pii> X[2][110];
t3 ans[110];
int main() {
	scanf("%d%d%d%d", &W, &H, &K, &T);
	for(int i=1;i<=K;i++) {
		int x, y, d; scanf("%d%d%d", &x, &y, &d);
		if(d & 1) X[0][y].pb(pii(x, (d == 1 ? i : -i))), get<1>(ans[i]) = y;
		else X[1][x].pb(pii(y, (d == 2 ? i : -i))), get<0>(ans[i]) = x;
	}
	rep(u, 2) {
		int L = (u == 0 ? W : H);
		for(int i=1;i<=100;i++) {
			sort(all(X[u][i]));
			vector <pii> v;
			for(pii e : X[u][i]) {
				int l = (e.Se > 0 ? e.Fi : 2 * L - e.Fi);
				l = (l + T) % (2 * L);
				pii f;
				if(l < L) f = pii(l, 1);
				else f = pii(2 * L - l, -1);
				v.pb(f);
			}
			sort(all(v));
			rep(j, szz(X[u][i])) {
				int idx = abs(X[u][i][j].Se);
				pii e = v[j];
				if(u == 0) {
					int di = (e.Se == 1 ? 1 : 3);
					get<2>(ans[idx]) = di;
					get<0>(ans[idx]) = e.Fi;
				}
				else {
					int di = (e.Se == 1 ? 2 : 4);
					get<2>(ans[idx]) = di;
					get<1>(ans[idx]) = e.Fi;
				}
			}
		}
	}
	for(int i=1;i<=K;i++) printf("%d %d %d\n", get<0>(ans[i]), get<1>(ans[i]), get<2>(ans[i]));
	return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
