Pagini recente » Cod sursa (job #966420) | Cod sursa (job #329070) | Cod sursa (job #1773030) | Cod sursa (job #158984) | Cod sursa (job #72589)
Cod sursa(job #72589)
using namespace std;
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <string>
#include <ctime>
#define maxn 100001
char x[maxn];
char *sarray[maxn];
int n;
struct cmp{
bool operator()(const char *a, const char *b)const
{
return strcmp(a, b)<0;
}
};
int comp(char *a, char *b)
{
return strcmp(a, b)<0;
}
void read()
{
freopen("sarray.in","r",stdin);
gets(x);
n=strlen(x);
}
void sortarrays()
{
char *p;
int i;
for(p=x,i=0;i<n;++p, ++i) sarray[i]=p;
//qsort(sarray, n, sizeof(char*), (int(*)(const void *, const void *))comp);
// stable_sort(sarray, sarray+n, comp);
//sort(sarray, sarray+n, cmp());
make_heap(sarray, sarray+n,comp);
sort_heap(sarray, sarray+n, comp);
}
void write()
{
for(int i=0;i<n;++i)printf("%s\n", sarray[i]);
}
int verifica()
{
for(int i=1;i<n;++i) if(strcmp(sarray[i-1], sarray[i])>=0) return 0;
return 1;
}
int main()
{
//freopen("sarray.out","w",stdout);
//read();
n=100000;
srand(time(0));
for(int i=0;i<n;++i) x[i]=rand()%26+'a';
sortarrays();
printf("%d\n",verifica());
//write();
return 0;
}