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

📄 2180.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 2180 on 2006-03-30 at 21:51:21 */ 
#include <cstdio>

typedef long long int64;
const int MAX = 32;
const int L = 128;
const int LIMIT = 100000000;

int main()
{
	char song[MAX][L];
	int n, q, i, t;
	int64 f[MAX] = { 1 };

	while(scanf("%d %d", &n, &q) != EOF && n != 0) {
		for(i = 0; i < n; i++) scanf("%s", song[i]);
		if(n != 1)
			for(i = 1; f[i-1] < LIMIT; i++) f[i] = f[i-1] * n;
		for(t = 0; t < q; t++) {
			int pos; scanf("%d", &pos); pos--;
			if(n == 1) printf("%s\n", song[0]);
			else {
				int bit, num[MAX], o;
				for(bit = 1; pos >= f[bit]*bit; bit++) pos -= f[bit]*bit;
				o = pos % bit; pos /= bit;
				for(i = 0; i < bit; i++) {
					num[i] = pos / f[bit-i-1];
					pos %= f[bit-i-1];
				}
				printf("%s\n", song[num[o]]);
			}
		}
		putchar('\n');
	}
	
	return 0;
}

⌨️ 快捷键说明

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