42D - Strange town - CodeForces Solution


constructive algorithms math *2300

Please click on ads to support us..

C++ Code:

// Problem: Strange town
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/CF42D
// Memory Limit: 250 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include <iostream>
#include <cstdio>

using namespace std;

const int S=25,BS=1005;

int n,m,val[S],vis[BS];

inline bool check(int x)
{
	val[x]=m;
	for(int i=0;i<=BS-3;i++) vis[i]=false;
	for(int i=1;i<=x;i++)
	{
		for(int j=1;j<i;j++)
		{
			if(vis[val[i]+val[j]]) return false;
			vis[val[i]+val[j]]=true;
		}
	}
	return true;
}

int main()
{
	scanf("%d",&n);
	val[1]=0,val[2]=1;
	m=2;
	for(int i=3;i<=n;i++)
	{
		while(!check(i)) m++;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			printf("%d ",i==j?0:val[i]+val[j]);
		}
		printf("\n");
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

151A - Soft Drinking
1352A - Sum of Round Numbers
281A - Word Capitalization
1646A - Square Counting
266A - Stones on the Table
61A - Ultra-Fast Mathematician
148A - Insomnia cure
1650A - Deletions of Two Adjacent Letters
1512A - Spy Detected
282A - Bit++
69A - Young Physicist
1651A - Playoff
734A - Anton and Danik
1300B - Assigning to Classes
1647A - Madoka and Math Dad
710A - King Moves
1131A - Sea Battle
118A - String Task
236A - Boy or Girl
271A - Beautiful Year
520B - Two Buttons
231A - Team
479C - Exams
1030A - In Search of an Easy Problem
158A - Next Round
71A - Way Too Long Words
160A - Twins
1A - Theatre Square
1614B - Divan and a New Project
791A - Bear and Big Brother