⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3080861_ac_15ms_84k.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
#include <stdio.h>

int tow[52][52], h, l;

int find(int num)
{
	int i, j, k;
	int ret = 0, cnt = 0;
	int tmp[52];

	for(i = 0; i < h; i++)
	{
		for(j = 0; j < l; j++)
		{
			if(tow[i][j]==num)
			{
				tow[i][j] = -1;
				if(j < l-j)
				{
					ret = j;
				}
				else
				{
					ret = l-j;
				}
				for(k = j; cnt < l; k++)
				{
					tmp[cnt++] = tow[i][k%l];
				}
				for(k = 0; k < l; k++)
				{
					tow[i][k] = tmp[k];
				}
				return ret;
			}
		}
	}
	return -1;//this should not happen
}

int main()
{
	int cas,t, max;
	int i, j;

	scanf("%d",&cas);
	while(cas--)
	{
		t = 0;
		scanf("%d%d",&h,&l);
		max = -1;
		for(i = 0; i < h; i++)
		{
			for(j = 0; j < l; j++)
			{
				scanf("%d",&tow[i][j]);
				if(tow[i][j]!=-1)
				{
					t += 20*i;
					if(tow[i][j] > max)
					{
						max = tow[i][j];
					}
				}
			}
		}
		for(i = 1; i <= max; i++)
		{
			t += 5*find(i);
		}
		printf("%d\n",t);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -