Pagini recente » Cod sursa (job #849903) | Cod sursa (job #2891157) | Cod sursa (job #1427823) | Cod sursa (job #8904) | Cod sursa (job #425756)
Cod sursa(job #425756)
#include <algorithm>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
#define pb push_back
#define mp make_pair
#define DIM 1000005
#define sc second
#define fs first
ifstream fin ("nums.in");
ofstream fout ("nums.out");
vector <pair <string,int> > v;
int op[DIM];
int n,m;
void read ()
{
char buff[DIM];
int i,tip;
fin>>n;
for (i=1; i<=n; ++i)
{
fin>>tip;
if (tip)
{
fin>>buff;
v.pb (mp (buff,++m));
}
else
fin>>op[i];
}
}
struct cmp
{
bool operator () (const pair <string,int> &a,const pair <string,int> &b)
{
return a.fs.size ()<b.fs.size () || (a.fs.size ()==b.fs.size () && a.fs<b.fs);
}
};
void solve ()
{
vector <pair <string,int> > :: iterator it;
int i;
sort (v.begin (),v.end (),cmp ());
for (it=v.begin (); it!=v.end (); ++it)
fout<<it->fs<<" "<<it->sc<<"\n";
}
int main ()
{
read ();
solve ();
return 0;
}