/*
Intermediate 3
St.Stanislav
Institution
Author: Žiga
Gradišar
*/
#include
<iostream>
#include
<vector>
#include
<string>
#include
<algorithm>
using namespace
std;
vector<string>
glavna;
string abc [] =
{"1", "2", "3", "4", "5",
"6", "7", "8", "9",
"A","B",
"C", "D"};
bool
osnova(string s){
for(int i (0);i!=glavna.size();++i){
if(s==glavna[i])return 1;
}
return 0;
}
bool sta (string
a, string b){
string a1, b1;
if(a[0]!=b[0]) return 0;
a1+=a[1];b1+=b[1];
int k1, k2;
for(int i (0);i!=13;++i){
if(a1==abc[i])k1=i;
if(b1==abc[i])k2=i;
}
if(k1==k2-1)return 1;
return 0;
}
int
vrednost(string s){
string c;c=s[0];
int kje;
for(int i (0);i!=13;++i){
if(c==abc[i]){kje=i; break;}
}
if(kje>=10)kje=9;
return kje+1;
}
int main(){
cout<<"Input should not contain
commas!"<<endl;
for(int i (0);i!=7;++i){
string s;cin>>s;
if(s[0]=='A')s[0]='1';
if(s[0]=='T')s[0]='A';
if(s[0]=='J')s[0]='B';
if(s[0]=='Q')s[0]='C';
if(s[0]=='K')s[0]='D';
glavna.push_back(s);
}
for(int i (0);i!=5;++i){
cout<<i+1<<":
";
vector<string> v, v2;
for(int j (0);j!=7;++j){
string s;
cin>>s;
if(s[0]=='A')s[0]='1';
if(s[0]=='T')s[0]='A';
if(s[0]=='J')s[0]='B';
if(s[0]=='Q')s[0]='C';
if(s[0]=='K')s[0]='D';
v.push_back(s);
}
for(int j (0);j!=7;++j){
string s;
s=v[j];s=string(s.rbegin(),
s.rend());
v2.push_back(s);
s=glavna[j];s=string(s.rbegin(),
s.rend());
v2.push_back(s);
}
/////////////////////////
sort(v2.begin(), v2.end());
//for(int u
(0);u!=v2.size();++u){cout<<v2[u]<<" ";}cout<<endl;
v2.push_back("?");
vector<string> z; string c;
for(int j (0);j<v2.size();++j){
if(z.size()!=0){
if(sta(z[z.size()-1],
v2[j])){
z.push_back(v2[j]);
}
else {
int stej=0,
maksi=0;
for(int a
(0);a!=z.size();++a){
maksi=max(stej,
maksi);
string
s=z[a];s=string(s.rbegin(), s.rend());
if(osnova(s)){++stej;}
else stej=0;
}
if(maksi==3 or
maksi==4){
v2.erase(v2.begin()+j-z.size(),
v2.begin()+j);
j-=z.size();
}
z.clear();
z.push_back(v2[j]);
}
}
else z.push_back(v2[j]);
}
for(int j
(0);j!=v2.size();++j)if(v2[j]=="?"){v2.erase(v2.begin()+j);break;}
/////////////////////
for(int j (0);j!=v2.size();++j)
v2[j]=string(v2[j].rbegin(),
v2[j].rend());
/////////////////
sort(v2.begin(), v2.end());
z.clear();c.clear();
v2.push_back("?");
for(int j (0);j<v2.size();++j){
if(z.size()!=0){
if(z[z.size()-1][0]==
v2[j][0]){
z.push_back(v2[j]);
}
else {
int stej=0;
for(int a
(0);a!=z.size();++a){
string
s=z[a];
if(osnova(s)){++stej;}
}
if(stej==3 or
stej==4){
v2.erase(v2.begin()+j-z.size(),
v2.begin()+j);
j-=z.size();
}
z.clear();
z.push_back(v2[j]);
}
}
else z.push_back(v2[j]);
}
for(int j
(0);j!=v2.size();++j)if(v2[j]=="?"){v2.erase(v2.begin()+j);break;}
///////////////////////
for(int j (0);j<v2.size();++j){
if(osnova(v2[j])){v2.erase(v2.begin()+j);--j;}
}
int r=0;
for(int j (0);j!=v2.size();++j){
//cout<<v2[j]<<"
";
r+=vrednost(v2[j]);
}
cout<<"Answer
"<<i+1<<": "<<r<<endl;
}
cin.get();cin.get();
}