Cod sursa(job #2311257)

Utilizator richard26Francu Richard richard26 Data 2 ianuarie 2019 20:20:16
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

int numar(char s[10])
{
	int nr = 0;
	int p = 1;
	int sz = strlen(s);
	for (int i = sz - 1; i >= 0; i--)
	{
		nr = nr + (s[i] - '0') * p;
		p = p * 10;
	}
	return nr;
}
int prim(int a, int b)
{
	int c;
	while(b)
	{
		c = a % b;
		a = b; 
		b = c;
	}
	return a;
}
int main()
{	
	int v[100010];
	char s[100010][10];
	ifstream f("pairs.in");
	ofstream g("pairs.out");
	unordered_map <string, int> mp;
	int n, i, j;
	f>>n;
	for (i = 1; i <= n; i++)
	{
		f>>s[i];
		v[i] = numar(s[i]);
	}

	for (i = 1; i < n; i++)
		for (j = i + 1; j <= n; j++)
		{
			if(prim(v[i], v[j]) == 1)
			{
				char aux[50];
				strcpy(aux, s[i]);
				strcat(aux, ",");
				strcat(aux, s[j]);
				mp[aux]++;
			}
		}
	int nr = 0;
	for(auto &x : mp) nr++;
	g<<nr;
	f.close();

	
	return 0;

}