Submission #986393

# Submission time Handle Problem Language Result Execution time Memory
986393 2024-05-20T12:42:38 Z Pyqe Unscrambling a Messy Bug (IOI16_messy) C++17
100 / 100
2 ms 856 KB
#include "messy.h"
#include <bits/stdc++.h>

using namespace std;

long long nd;

vector<int> restore_permutation(int n,int d,int d2)
{
	long long i,j,r;
	string s="";
	vector<int> sq;
	
	for(nd=0;1ll<<nd<n;nd++);
	for(i=0;i<n;i++)
	{
		s+="0";
		sq.push_back(0);
	}
	for(i=nd-1;i+1;i--)
	{
		for(j=0;j<n;j++)
		{
			if(j>>i&1)
			{
				for(r=0;r<n;r++)
				{
					s[r]=(r==j||r>>i+1!=j>>i+1)+'0';
				}
				add_element(s);
			}
		}
	}
	compile_set();
	for(i=nd-1;i+1;i--)
	{
		for(j=0;j<n;j++)
		{
			for(r=0;r<n;r++)
			{
				s[r]=(r==j||sq[r]>>i+1!=sq[j]>>i+1)+'0';
			}
			sq[j]|=check_element(s)<<i;
		}
	}
	return sq;
}

Compilation message

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:28:22: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   28 |      s[r]=(r==j||r>>i+1!=j>>i+1)+'0';
      |                     ~^~
messy.cpp:28:30: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   28 |      s[r]=(r==j||r>>i+1!=j>>i+1)+'0';
      |                             ~^~
messy.cpp:41:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   41 |     s[r]=(r==j||sq[r]>>i+1!=sq[j]>>i+1)+'0';
      |                        ~^~
messy.cpp:41:37: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   41 |     s[r]=(r==j||sq[r]>>i+1!=sq[j]>>i+1)+'0';
      |                                    ~^~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB n = 8
2 Correct 1 ms 432 KB n = 8
3 Correct 0 ms 348 KB n = 8
4 Correct 0 ms 348 KB n = 8
5 Correct 0 ms 348 KB n = 8
6 Correct 0 ms 348 KB n = 8
7 Correct 0 ms 348 KB n = 8
8 Correct 0 ms 348 KB n = 8
9 Correct 0 ms 348 KB n = 8
10 Correct 0 ms 348 KB n = 8
11 Correct 0 ms 436 KB n = 8
12 Correct 0 ms 348 KB n = 8
13 Correct 0 ms 348 KB n = 8
14 Correct 0 ms 344 KB n = 8
15 Correct 1 ms 348 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 32
2 Correct 1 ms 440 KB n = 32
3 Correct 1 ms 348 KB n = 32
4 Correct 1 ms 344 KB n = 32
5 Correct 0 ms 348 KB n = 32
6 Correct 0 ms 348 KB n = 32
7 Correct 1 ms 348 KB n = 32
8 Correct 1 ms 344 KB n = 32
9 Correct 1 ms 368 KB n = 32
10 Correct 1 ms 348 KB n = 32
11 Correct 1 ms 348 KB n = 32
12 Correct 0 ms 344 KB n = 32
13 Correct 1 ms 348 KB n = 32
14 Correct 1 ms 348 KB n = 32
15 Correct 1 ms 348 KB n = 32
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB n = 32
2 Correct 0 ms 440 KB n = 32
3 Correct 0 ms 348 KB n = 32
4 Correct 0 ms 348 KB n = 32
5 Correct 1 ms 348 KB n = 32
6 Correct 0 ms 348 KB n = 32
7 Correct 0 ms 348 KB n = 32
8 Correct 0 ms 348 KB n = 32
9 Correct 0 ms 348 KB n = 32
10 Correct 0 ms 348 KB n = 32
11 Correct 1 ms 348 KB n = 32
12 Correct 0 ms 448 KB n = 32
13 Correct 0 ms 348 KB n = 32
14 Correct 0 ms 348 KB n = 32
15 Correct 0 ms 348 KB n = 32
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB n = 128
2 Correct 1 ms 604 KB n = 128
3 Correct 2 ms 604 KB n = 128
4 Correct 1 ms 600 KB n = 128
5 Correct 2 ms 604 KB n = 128
6 Correct 2 ms 604 KB n = 128
7 Correct 1 ms 600 KB n = 128
8 Correct 1 ms 600 KB n = 128
9 Correct 1 ms 604 KB n = 128
10 Correct 2 ms 604 KB n = 128
11 Correct 2 ms 604 KB n = 128
12 Correct 1 ms 604 KB n = 128
13 Correct 2 ms 604 KB n = 128
14 Correct 1 ms 604 KB n = 128
15 Correct 1 ms 604 KB n = 128
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB n = 128
2 Correct 1 ms 604 KB n = 128
3 Correct 1 ms 436 KB n = 128
4 Correct 1 ms 604 KB n = 128
5 Correct 2 ms 600 KB n = 128
6 Correct 1 ms 604 KB n = 128
7 Correct 1 ms 856 KB n = 128
8 Correct 1 ms 604 KB n = 128
9 Correct 1 ms 600 KB n = 128
10 Correct 1 ms 604 KB n = 128
11 Correct 1 ms 604 KB n = 128
12 Correct 1 ms 604 KB n = 128
13 Correct 2 ms 604 KB n = 128
14 Correct 1 ms 604 KB n = 128
15 Correct 1 ms 600 KB n = 128