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

📄 2300.cpp

📁 哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 2300 on 2006-08-02 at 18:17:30 */ 
#include <cstdio>
#include <algorithm>
using namespace std;
 
int scan(int);
 
int main()
{
	int n;
	
	while(scanf("%d\n", &n) != EOF && n != 0) {
		int r = scan(n);
		int s = r & 1, p = r >> 1;
		if(!s) {
			int rp = (n-p)%n;
			if(rp + 2 < p) printf("m1 r%d m1", rp);
			else if(p != 0) printf("r%d", p);
			putchar('\n');
		} else {
			int rp = (n-p)%n;
			if(p < rp) {
				printf("m1");
				if(p != 0) printf(" r%d", p);
				printf("\n");
			} else {
				if(rp != 0) printf("r%d ", rp);
				printf("m1\n");
			}
		}
	}
	
	
	return 0;
}
 
int scan(int n)
{
	int p = 0, s = 0;
	while(true) {
		char c;
		while((c = getchar()) == ' ');
		if(c == '\n') break;
		int a; scanf("%d", &a);
		switch(c) {
		case 'r': p = (p+a)%n; break;
		case 'm': 
			if(a&1) { 
				s = !s;
				p = (n-p)%n;
			}
			break;
		}
	}
	return (p<<1)|s;
}

⌨️ 快捷键说明

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