Submission #34907


Source Code Expand

#include<cstdio>
#include<vector>
#include<cassert>
#include<algorithm>
#include"grader.h"
#include"honest.h"

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

void identify(int n){
	vector<int> group[2];
	group[0].push_back(0);
	int which=0; // どっちのグループに属すか
	rep(i,n-1){
		if(question(1,i,i+1)==0) which=1-which;
		group[which].push_back(i+1);
	}

	int q[100000];
	rep(i,n) q[i]=question(2,i,77);

	int n0=group[0].size(),n1=group[1].size();
	bool pttn0=false,pttn1=false;
	if(n1==0){
		pttn0=(count(q,q+n,n)==n);
		pttn1=(count(q,q+n,0)==0);
	}
	else{
		// group[0] が正直者と仮定
		pttn0=true;
		rep(i,n0) if(q[group[0][i]]!=n0) pttn0=false;

		// group[1] が正直者と仮定
		pttn1=true;
		rep(i,n1) if(q[group[1][i]]!=n1) pttn1=false;
	}

	if(pttn0 && pttn1) impossible();
	else if(pttn0) rep(k,2) rep(i,group[k].size()) answer(group[k][i],1-k);
	else if(pttn1) rep(k,2) rep(i,group[k].size()) answer(group[k][i], k );
	else assert(0);
}

Submission Info

Submission Time
Task C - しょうじききつね と うそつきにんげん (Honest Fox and Dishonest Man)
User fura2
Language IOI-Style C++ (GCC 5.4.1)
Score 62
Code Size 1036 Byte
Status AC
Exec Time 178 ms
Memory 16800 KB

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 16 / 16 29 / 29 17 / 17 0 / 38
Status
AC × 33
AC × 37
AC × 47
AC × 47
Set Name Test Cases
Subtask1 subtask0/1, subtask0/10, subtask0/11, subtask0/12, subtask0/13, subtask0/14, subtask0/15, subtask0/16, subtask0/17, subtask0/2, subtask0/3, subtask0/4, subtask0/5, subtask0/6, subtask0/7, subtask0/8, subtask0/9, subtask1/1, subtask1/10, subtask1/11, subtask1/12, subtask1/13, subtask1/14, subtask1/15, subtask1/16, subtask1/2, subtask1/3, subtask1/4, subtask1/5, subtask1/6, subtask1/7, subtask1/8, subtask1/9
Subtask2 subtask0/1, subtask0/10, subtask0/11, subtask0/12, subtask0/13, subtask0/14, subtask0/15, subtask0/16, subtask0/17, subtask0/2, subtask0/3, subtask0/4, subtask0/5, subtask0/6, subtask0/7, subtask0/8, subtask0/9, subtask2/1, subtask2/10, subtask2/11, subtask2/12, subtask2/13, subtask2/14, subtask2/15, subtask2/16, subtask2/17, subtask2/18, subtask2/19, subtask2/2, subtask2/20, subtask2/3, subtask2/4, subtask2/5, subtask2/6, subtask2/7, subtask2/8, subtask2/9
Subtask3 subtask0/1, subtask0/10, subtask0/11, subtask0/12, subtask0/13, subtask0/14, subtask0/15, subtask0/16, subtask0/17, subtask0/2, subtask0/3, subtask0/4, subtask0/5, subtask0/6, subtask0/7, subtask0/8, subtask0/9, subtask34/1, subtask34/10, subtask34/11, subtask34/12, subtask34/13, subtask34/14, subtask34/15, subtask34/16, subtask34/17, subtask34/18, subtask34/19, subtask34/2, subtask34/20, subtask34/21, subtask34/22, subtask34/23, subtask34/24, subtask34/25, subtask34/26, subtask34/27, subtask34/28, subtask34/29, subtask34/3, subtask34/30, subtask34/4, subtask34/5, subtask34/6, subtask34/7, subtask34/8, subtask34/9
Subtask4 subtask0/1, subtask0/10, subtask0/11, subtask0/12, subtask0/13, subtask0/14, subtask0/15, subtask0/16, subtask0/17, subtask0/2, subtask0/3, subtask0/4, subtask0/5, subtask0/6, subtask0/7, subtask0/8, subtask0/9, subtask34/1, subtask34/10, subtask34/11, subtask34/12, subtask34/13, subtask34/14, subtask34/15, subtask34/16, subtask34/17, subtask34/18, subtask34/19, subtask34/2, subtask34/20, subtask34/21, subtask34/22, subtask34/23, subtask34/24, subtask34/25, subtask34/26, subtask34/27, subtask34/28, subtask34/29, subtask34/3, subtask34/30, subtask34/4, subtask34/5, subtask34/6, subtask34/7, subtask34/8, subtask34/9
Case Name Status Exec Time Memory
subtask0/1 AC 66 ms 15008 KB
subtask0/10 AC 64 ms 15008 KB
subtask0/11 AC 63 ms 15128 KB
subtask0/12 AC 64 ms 15076 KB
subtask0/13 AC 63 ms 15028 KB
subtask0/14 AC 64 ms 15064 KB
subtask0/15 AC 65 ms 15004 KB
subtask0/16 AC 65 ms 15060 KB
subtask0/17 AC 64 ms 15064 KB
subtask0/2 AC 65 ms 15076 KB
subtask0/3 AC 64 ms 15048 KB
subtask0/4 AC 67 ms 15116 KB
subtask0/5 AC 65 ms 15072 KB
subtask0/6 AC 65 ms 15064 KB
subtask0/7 AC 65 ms 15072 KB
subtask0/8 AC 64 ms 15064 KB
subtask0/9 AC 64 ms 15124 KB
subtask1/1 AC 65 ms 15068 KB
subtask1/10 AC 63 ms 15128 KB
subtask1/11 AC 65 ms 15076 KB
subtask1/12 AC 65 ms 15068 KB
subtask1/13 AC 66 ms 15064 KB
subtask1/14 AC 64 ms 15064 KB
subtask1/15 AC 64 ms 15072 KB
subtask1/16 AC 66 ms 15064 KB
subtask1/2 AC 65 ms 15068 KB
subtask1/3 AC 65 ms 15012 KB
subtask1/4 AC 64 ms 15008 KB
subtask1/5 AC 63 ms 15072 KB
subtask1/6 AC 63 ms 15060 KB
subtask1/7 AC 64 ms 15040 KB
subtask1/8 AC 65 ms 15016 KB
subtask1/9 AC 64 ms 15004 KB
subtask2/1 AC 65 ms 15128 KB
subtask2/10 AC 65 ms 15064 KB
subtask2/11 AC 66 ms 15068 KB
subtask2/12 AC 66 ms 15128 KB
subtask2/13 AC 66 ms 15136 KB
subtask2/14 AC 66 ms 15020 KB
subtask2/15 AC 65 ms 15060 KB
subtask2/16 AC 66 ms 15052 KB
subtask2/17 AC 65 ms 15064 KB
subtask2/18 AC 65 ms 15072 KB
subtask2/19 AC 66 ms 15132 KB
subtask2/2 AC 65 ms 15064 KB
subtask2/20 AC 66 ms 15064 KB
subtask2/3 AC 65 ms 15056 KB
subtask2/4 AC 66 ms 15132 KB
subtask2/5 AC 65 ms 15060 KB
subtask2/6 AC 65 ms 15116 KB
subtask2/7 AC 66 ms 15056 KB
subtask2/8 AC 67 ms 15132 KB
subtask2/9 AC 66 ms 15120 KB
subtask34/1 AC 175 ms 16728 KB
subtask34/10 AC 161 ms 16724 KB
subtask34/11 AC 162 ms 16792 KB
subtask34/12 AC 160 ms 16716 KB
subtask34/13 AC 169 ms 16724 KB
subtask34/14 AC 164 ms 16788 KB
subtask34/15 AC 161 ms 16712 KB
subtask34/16 AC 167 ms 16712 KB
subtask34/17 AC 164 ms 16716 KB
subtask34/18 AC 148 ms 16800 KB
subtask34/19 AC 169 ms 16792 KB
subtask34/2 AC 174 ms 16724 KB
subtask34/20 AC 165 ms 16716 KB
subtask34/21 AC 170 ms 16712 KB
subtask34/22 AC 171 ms 16716 KB
subtask34/23 AC 170 ms 16788 KB
subtask34/24 AC 151 ms 16724 KB
subtask34/25 AC 152 ms 16720 KB
subtask34/26 AC 171 ms 16716 KB
subtask34/27 AC 170 ms 16712 KB
subtask34/28 AC 178 ms 16768 KB
subtask34/29 AC 169 ms 16788 KB
subtask34/3 AC 178 ms 16736 KB
subtask34/30 AC 167 ms 16796 KB
subtask34/4 AC 165 ms 16784 KB
subtask34/5 AC 165 ms 16720 KB
subtask34/6 AC 159 ms 16708 KB
subtask34/7 AC 168 ms 16792 KB
subtask34/8 AC 168 ms 16792 KB
subtask34/9 AC 165 ms 16716 KB