A. Is your horseshoe on the other hoof?
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int i,ans,s[4];
for(i=0;i<4;i++)
cin>>s[i];
sort(s,s+4);
for(i=1,ans=1;i<4;i++)
{
if(s[i]!=s[i-1]) ans++;
}
cout<<4-ans<<endl;
return 0;
}
B. Two Tables
#include <iostream>
using namespace std;
int main()
{
char a[55][55],b[55][55];
int na,ma,nb,mb,i,j,x,y,xx,yy,t,sum;
cin>>na>>ma;
for(i=1;i<=na;i++)
for(j=1;j<=ma;j++)
cin>>a[i][j];
cin>>nb>>mb;
for(i=1;i<=nb;i++)
for(j=1;j<=mb;j++)
cin>>b[i][j];
t=0;
for(x=-50;x<=50;x++)
for(y=-50;y<=50;y++)
{
sum=0;
for(i=1;i<=na;i++)
for(j=1;j<=ma;j++)
{
if(i+x<=nb&&i+x>=1&&j+y<=mb&&j+y>=1)if(a[i][j]=='1'&& b[i+x][j+y]=='1' )
sum++;
}
if(sum>t) {t=sum;xx=x;yy=y;}
}
cout<<xx<<" "<<yy<<endl;
return 0;
}