Submission details
Task:Merkkijonot
Sender:removed5096
Submission time:2019-10-08 19:55:09 +0300
Language:C++ (C++17)
Status:SKIPPED

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:44:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int k = 0; k < v[i].length(); k++)
                     ~~^~~~~~~~~~~~~~~
input/code.cpp:46:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      for (int l = k + 1; l < v[i].length(); l++)
                          ~~^~~~~~~~~~~~~~~
input/code.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%50s", temp);
   ~~~~~^~~~~~~~~~~~~~

Code

#include<iostream>
#include<algorithm>
#include<iterator>
#include<string>

using namespace std;

bool compare(string s1, string s2)
{
	return s1.length() < s1.length();
}

int main()
{
	int n;
	cin >> n;

	string v[5000];
	for (int i = 0; i < n; i++)
	{
		char temp[50];
		scanf("%50s", temp);
		v[i] = temp;
	}

	sort(std::begin(v), std::end(v), compare);

	int count = 0;
	bool b;

	for (int i = 0; i < n; i++)
	{
		for (int j = i+1; j < n; j++)
		{
			b = true;

			if (v[i].length() != v[j].length())
			{
				b = false;
			}

			if (b)
			{
				for (int k = 0; k < v[i].length(); k++)
				{
					for (int l = k + 1; l < v[i].length(); l++)
					{
						if ((v[i][k] == v[i][l]) != (v[j][k] == v[j][l]))
						{
							b = false;
							break;
						}
					}
					if (!b)
					{
						break;
					}
				}
			}
			count += b;
		}
	}

	cout << count;

	return 0;
}