Pagini recente » Cod sursa (job #2983601) | Fmi-no-stress-9-warmup | Borderou de evaluare (job #366984) | Cod sursa (job #3240597) | Cod sursa (job #1886697)
#include <fstream>
#include <vector>
#include <string.h>
using namespace std;
ifstream fin("abc2.in");
ofstream fout("abc2.out");
vector <string> G[3633];
char c[10000000],aux[21];
int n,nr;
inline vector<string>::iterator find_value(string aux,int x){
int list=x;
vector <string>::iterator it;
for(it=G[list].begin();it!=G[list].end();++it)
if(*it==aux)
return it;
return G[list].end();}
inline void insert_value(string aux,int x){
int list=x;
if(find_value(aux,x)==G[list].end())
G[list].push_back(aux);}
int main(){
fin.get(c,10000000,'\n');
fin.get();
int i,s=0;
while(!fin.eof()){
s=0;
fin.get(aux,21,'\n');
fin.get();
n=strlen(aux);
if(strstr(c,aux)!=0){
for(i=0;i<n;i++)
s+=(int)aux[i];
if(find_value(aux,s)!=G[s].end()){
continue;}
else{
insert_value(aux,s);
nr++;}
}}
fout<<nr-1;
return 0;}