提交记录 5333


用户 题目 状态 得分 用时 内存 语言 代码长度
temp6 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C++ 6.19 KB
提交时间 评测时间
2018-08-17 15:29:13 2020-08-01 00:15:41
unsigned * limit,* key,buffer0[256],buffer8[256],buffer16[256],buffer24[256],b[100000000];
void sort(unsigned * a,int n)
{
	for (limit = a + n - 7,key = a;key < limit;* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255],* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255]);
	switch (a + n - key)
	{
		case 7:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 6:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 5:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 4:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 3:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 2:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
		case 1:
			* key = (s ^= s << 13,s ^= s >> 17,s ^= s << 5),++ buffer0[* key & 255],++ buffer8[* key >> 8 & 255],++ buffer16[* key >> 16 & 255],++ buffer24[* key ++ >> 24 & 255];
	}
	for (limit = buffer0 + 255,key = buffer0;key < limit;* key += * key ++);
	for (limit = a + 7,key = a + n - 1;key >= limit;b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --,b[-- buffer0[* key & 255]] = * key --);
	switch (key - a)
	{
		case 6:
			b[-- buffer0[* key & 255]] = * key --;
		case 5:
			b[-- buffer0[* key & 255]] = * key --;
		case 4:
			b[-- buffer0[* key & 255]] = * key --;
		case 3:
			b[-- buffer0[* key & 255]] = * key --;
		case 2:
			b[-- buffer0[* key & 255]] = * key --;
		case 1:
			b[-- buffer0[* key & 255]] = * key --;
		case 0:
			b[-- buffer0[* key & 255]] = * key --;
	}
	for (limit = buffer8 + 255,key = buffer8;key < limit;* key += * key ++);
	for (limit = b + 7,key = b + n - 1;key >= limit;a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --,a[-- buffer8[* key >> 8 & 255]] = * key --);
	switch (key - b)
	{
		case 6:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 5:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 4:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 3:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 2:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 1:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
		case 0:
			a[-- buffer8[* key >> 8 & 255]] = * key --;
	}
	for (limit = buffer16 + 255,key = buffer16;key < limit;* key += * key ++);
	for (limit = a + 7,key = a + n - 1;key >= limit;b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --,b[-- buffer16[* key >> 16 & 255]] = * key --);
	switch (key - a)
	{
		case 6:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 5:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 4:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 3:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 2:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 1:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
		case 0:
			b[-- buffer16[* key >> 16 & 255]] = * key --;
	}
	for (limit = buffer24 + 255,key = buffer24;key < limit;* key += * key ++);
	for (limit = b + 7,key = b + n - 1;key >= limit;a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --,a[-- buffer24[* key >> 24 & 255]] = * key --);
	switch (key - b)
	{
		case 6:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 5:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 4:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 3:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 2:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 1:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
		case 0:
			a[-- buffer24[* key >> 24 & 255]] = * key --;
	}
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-12 01:34:42 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠