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

📄 2223.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 2223 on 2006-05-15 at 11:17:43 */ 
#include <cstdio>
#include <cctype>
using namespace std;

const char BIT[] = "ixcm";

class MCXI {
private:
	int v;
	char out[10];
public:
	MCXI() { scanf("%s", out); }
	MCXI(int val) : v(val) {};
	int mtod();
	char* dtom();
};
int MCXI::mtod() {
	int r = 0; char *p = out;
	while(*p != 0) {
		int c = 1, i;
		if(isdigit(*p)) c = *(p++) - '0';
		for(i = 0; *p != BIT[i]; i++) c *= 10;
		r += c; p++;
	}
	return r;
}
char* MCXI::dtom() {
	int i, bit = 1000; char *p = out;
	for(i = 3; i >= 0; i--, bit /= 10) {
		int c = v / bit; v %= bit;
		if(c == 0) continue;
		else if(c != 1) *(p++) = c + '0';
		*(p++) = BIT[i];
	}
	*p = 0;
	return out;
}

int main()
{
	int t, T;
	
	scanf("%d", &T);
	for(t = 0; t < T; t++) {
		MCXI d1, d2;
		int r = d1.mtod()+d2.mtod();
		printf("%s\n", MCXI(r).dtom());
	}
	
	return 0;
}

⌨️ 快捷键说明

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