CSES - Datatähti Open 2017 - Results
Submission details
Task:Family reunion
Sender:eduardische
Submission time:2017-01-20 03:42:03 +0200
Language:C++
Status:READY
Result:51
Feedback
groupverdictscore
#1UNKNOWN0
#2UNKNOWN0
#3UNKNOWN0
Test results
testverdicttimegroup
#1UNKNOWN--1details
#2UNKNOWN--2details
#3UNKNOWN--3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:26:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d",&N,&M,&K);
                            ^
input/code.cpp:31:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&a[i]);
                     ^

Code

#include <bits/stdc++.h>
#define MAXK 25

using namespace std;

int getColour (int num) {
	int tm = num % 1000;
	mt19937 mt(num % 30000);
    uniform_int_distribution<int> dist(0, 2);
    int res = dist(mt);
    for (int z = 0; z < tm; z++) {
    	res = dist(mt);
    	if (res * 1000000001 == num) {
    		return res;
    	}
    }
    return res;
}

int notColour (int c1, int c2) {
	return 3 - c1 - c2;
}

int main () {
	int N, M, K;
	scanf("%d %d %d",&N,&M,&K);
	int i, j;
	static int a[MAXK];
	for (j = 0; j < M; j++) {
		for (i = 0; i < 2*K+1; i++) {
			scanf("%d",&a[i]);
		}
		int c = getColour(a[K]);
		int l = 1;
		while (l <= K) {
			if (getColour(a[K-l]) != c) {
				break;
			}
			l++;
		}
		int r = 1;
		while (r <= K) {
			if (getColour(a[K+r]) != c) {
				break;
			}
			r++;
		}
		int res;
		if ((l > K) && (r > K)) {
			res = a[K] % 3;
		} else if ((l <= K) && (r <= K)) {
			if (l % 2) {
				res = c;
			} else {
				res = notColour(c, getColour(a[K+r]));
			}
		} else if (l <= K) {
			if (l % 2) {
				res = c;
			} else {
				res = (c + 1) % 3;
			}
		} else {
			if (r == 1) {
				res = c;
			} else if ((r % 2) == 0) {
				res = (c + 2) % 3;
			} else {
				res = (c + 1) % 3;
			}
		}
		if (res == 0) {
			printf("A\n");
		} else if (res == 1) {
			printf("B\n");
		} else {
			printf("C\n");
		}
	}
	return 0;
}

Test details

Test 1

Group: 1

Verdict: UNKNOWN

input
#!/bin/bash
set -e
OFFSET=$(grep -onam1 '^__DATA_...

correct output
50

user output
(not available)

Test 2

Group: 2

Verdict: UNKNOWN

input
#!/bin/bash
set -e
OFFSET=$(grep -onam1 '^__DATA_...

correct output
50

user output
(not available)

Test 3

Group: 3

Verdict: UNKNOWN

input
#!/bin/bash
set -e
OFFSET=$(grep -onam1 '^__DATA_...

correct output
50

user output
(not available)