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

📄 3052455_ac_60ms_244k.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int f(string a)
{
	int t, ret (0);

	t = a.find('i');
	if(t!=-1)
	{
		if(t!=0&&isdigit(a.at(t-1)))
		{
			ret += a.at(t-1)-'0';
		}
		else
		{
			ret += 1;
		}
	}
	t = a.find('x');
	if(t!=-1)
	{
		if(t!=0&&isdigit(a.at(t-1)))
		{
			ret += (a.at(t-1)-'0')*10;
		}
		else
		{
			ret += 10;
		}
	}
	t = a.find('c');
	if(t!=-1)
	{
		if(t!=0&&isdigit(a.at(t-1)))
		{
			ret += (a.at(t-1)-'0')*100;
		}
		else
		{
			ret += 100;
		}
	}
	t = a.find('m');
	if(t!=-1)
	{
		if(t!=0&&isdigit(a.at(t-1)))
		{
			ret += (a.at(t-1)-'0')*1000;
		}
		else
		{
			ret += 1000;
		}
	}
	return ret;
}

int main()
{
	int n, sum;
	string a, b;

	cin >> n;
	while(n!=0)
	{
		n--;
		cin >> a >> b;
		sum = f(a)+f(b);
		if(sum >= 1000)
		{
			if(sum/1000>1)
			{
				printf("%d",sum/1000);
			}
			sum %= 1000;
			putchar('m');
		}
		if(sum >= 100)
		{
			if(sum/100>1)
			{
				printf("%d",sum/100);
			}
			putchar('c');
			sum %= 100;
		}
		if(sum >= 10)
		{
			if(sum/10>1)
			{
				printf("%d",sum/10);
			}
			putchar('x');
			sum %= 10;
		}
		if(sum >= 1)
		{
			if(sum>1)
			{
				printf("%d",sum);
			}
			putchar('i');
		}
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

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