All pastes #281151 Raw Edit

NukeDMAn

public cpp v1 · immutable
#281151 ·published 2006-12-16 15:13 UTC
rendered paste body
#include <iostream>#include <string>#include <algorithm>using namespace std;unsigned short t, ti;unsigned long n, i, j, uzyc, test, ind;unsigned long long porownan1 = 0, porownan2 = 0;char tab[10];char * nullptr;struct konto {	unsigned long long numer[3];	string napis;};konto *konta[100000];konto *nastepny;string wyjscie;string uz;unsigned long long liczba;bool cmp(konto *a, konto *b) {	return a->napis.compare(b->napis) < 0;}inline bool same(konto *a, konto *b) {	return a->napis.compare(b->napis) == 0;	}inline void wczytaj_konto(konto *wcz) {	string temp;	char tab[35];	cin.getline(tab, 35);	temp = tab;	wcz->napis = temp; }int main() {	ios_base::sync_with_stdio(0);	cin.getline(tab, 1024);	t = strtoul(tab, &nullptr, 10);		for(ti=0;ti<t;ti++) {		cin.getline(tab, 1024);		n = strtoul(tab, &nullptr, 10);				for(i=0;i<n;i++) {			konta[i] = new konto;						wczytaj_konto(konta[i]);		}		sort(konta, konta+n, cmp);		uzyc = 1;		ind = 0;		wyjscie = "";		for(i=0;i<n;i++) {			if(i < n-1) {								nastepny = konta[i+1];				if(konta[i]->napis.compare(nastepny->napis) == 0) {					uzyc++;				}					else {					sprintf(tab, "%d", uzyc);					wyjscie += konta[i]->napis;					wyjscie += tab;					wyjscie += '\n';					//wypisz[ind] = make_pair(konta[i], uzyc);					//printf("%s%lu\n", konta[i]->napis.c_str(), uzyc);					//cout << konta[i]->napis << uzyc << endl;					uzyc = 1;					ind++;				}					}			else {				if(n>1) {					sprintf(tab, "%d", uzyc);					uz = tab;					if(konta[i]->napis.compare(konta[i-1]->napis) == 0) {						wyjscie += konta[i]->napis;						wyjscie += uz;						wyjscie += '\n';						//wypisz[ind] = make_pair(konta[i], uzyc);						//printf("%s%lu\n", konta[i]->napis.c_str(), uzyc);						//cout << konta[i]->napis << uzyc << endl;						ind++;					}					else {						wyjscie += konta[i]->napis;						wyjscie += "1";						wyjscie += '\n';						//wypisz[ind] = make_pair(konta[i], 1);						//printf("%s%lu\n", konta[i]->napis.c_str(), 1);						//cout << konta[i]->napis << 1 << endl;						ind++;					}				}				else {					wyjscie += konta[i]->napis;					wyjscie += "1";					wyjscie += '\n';					//wypisz[ind] = make_pair(konta[i], 1);					ind++;					//printf("%s%lu\n", konta[i]->napis.c_str(), 1);					//cout << konta[i]->napis << 1 << endl;				}				}		}		/*		for(i=0;i<ind;i+=5) {			printf("%s%lu\n%s%lu\n%s%lu\n%s%lu\n%s%lu\n", wypisz[i].first->napis.c_str(), wypisz[i].second, wypisz[i+1].first->napis.c_str(), wypisz[i+1].second, wypisz[i+2].first->napis.c_str(), wypisz[i+2].second, wypisz[i+3].first->napis.c_str(), wypisz[i+3].second, wypisz[i+4].first->napis.c_str(), wypisz[i+4].second); 		}		*/		cout << wyjscie;		for(i=0;i<n;i++) {			delete konta[i];		}		cout << endl;		cin.getline(tab, 1024);	}	return 0;}