View Code of Problem 97

#include<bits/stdc++.h>
#include<map>
using namespace std;

int main()
{
  map <string,int> m;
  int n,i,j;
  string s,s1,exe[1000];
  while(cin>>n)
  {
    if(n==0)
      break;
    i=0; 
    while(n--)
    {
      cin>>s;
      if(s.find(".exe")!=s.npos)
      {exe[i]=s.substr(0,s.size()-4);++i;}
      else
        m[s]=0; 
    }
    for(j=0;j<i;++j)
    {
      if(m[exe[j]]==0)
        m[exe[j]]=1;
    }
    for(auto p=m.begin();p!=m.end();++p)
    {
      if(p->second==1)
        cout<<p->first<<".exe"<<endl;
    }
    m.clear();
  }
}

Double click to view unformatted code.


Back to problem 97