Language: C++

#include <iostream>
#include <complex>
#include <cmath>
#define MAX_N 60
#define MAX_M 20
using namespace std;

#define P complex<int>

int main(){
  int n, m,mm;
  P org[MAX_M];
  P cmp[MAX_M];
  P d, o,c,deg;

  while( cin>>n && n ){

    cin >> mm;
    for( int i=0;i<mm;i++ )
      cin >> org[i].real() >> org[i].imag();

    d = org[0];
    for( int i=0;i<mm;i++ )
      org[i] = org[i] - d;

    for( int loop=1;loop<=n;loop++ ){
      cin >> m;
      for( int i=0;i<m;i++ )
	cin >> cmp[i].real() >> cmp[i].imag();
      if( m!=mm )
	continue;
      bool f=false;

      d= cmp[0] - org[0];
      for( int i=0;i<m;i++ ) // ツ閉スツ行ツ暗堋督ョ
	cmp[i] = cmp[i] - d;

      o = org[1] / abs(org[1]);
      c = cmp[1] / abs(cmp[1]);
      deg = P( 1,0 );

      while( o!=c ){
	c = c * P( 0,1 );
	deg *= P( 0,1 );
      }

      for( int i=1;i<m;i++ ) // ツ嘉アツ転
	cmp[i] = cmp[i] * deg;

      for( int i=1;i<m;i++ ){
	if( org[i]!=cmp[i] )
	  break;
	if( i==m-1 ) f=true;
      }

      if( !f ){
	d = cmp[m-1] - org[0];
	for( int i=0;i<m;i++ )
	  cmp[i] = cmp[i] - d; // ツ閉スツ行ツ暗堋督ョ
	o = org[1] / abs(org[1]);
	c = cmp[m-2] / abs(cmp[m-2]);
	deg = P( 1,0 );
	while( o!=c ){
	  c = c * P( 0,1 );
	  deg *= P( 0,1 );
	}
	for( int i=0;i<m-1;i++ ) // ツ嘉アツ転
	  cmp[i] = cmp[i] * deg;
	
	for( int i=0;i<m-1;i++ ){
	  if( org[i]!=cmp[m-i-1] )
	    break;
	  if( i==m-2 ) f=true;
	}
      }
      if( f )
	cout << loop << endl;
    
    }
    cout << "+++++"<<endl;
  }

  return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:20:11: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and 'int')
   20 |       cin >> org[i].real() >> org[i].imag();
      |       ~~~ ^~ ~~~~~~~~~~~~~
      |       |                 |
      |       |                 int
      |       std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42,
                 from a.cc:1:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'short int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'unsigned int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'long int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'long long int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:203:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  203 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:203:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'long long unsigned int&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:219:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  219 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:219:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'float&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:223:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  223 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:223:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'double&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:227:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  227 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:227:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: cannot bind non-const lvalue reference of type 'long double&' to a value of type 'int'
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
/usr/include/c++/14/istream:328:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  328 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/14/istream:328:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: invalid conversion from 'int' to 'void*' [-fpermissive]
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
      |                         |
      |                         int
a.cc:20:25: error: cannot bind rvalue '(void*)((long int)org[i].std::complex<int>::real())' to 'void*&'
/usr/include/c++/14/istream:122:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__istream_type& (*)(__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  122 |       operator>>(__istream_type& (*__pf)(__istream_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:122:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: invalid conversion from 'int' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive]
   20 |       cin >> org[i].real() >> org[i].imag();
      |              ~~~~~~~~~~~^~
      |                         |
      |                         int
/usr/include/c++/14/istream:126:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; __ios_type = std::basic_ios<char>]' (near match)
  126 |       operator>>(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:126:7: note:   conversion of argument 1 would be ill-formed:
a.cc:20:25: error: invalid conversion from 'int' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive]
   20 |       cin >> org[i].real() >> org[i].imag();