preface.cpp

来自「USACO chapter two.Useful for beginners.」· C++ 代码 · 共 60 行

CPP
60
字号
/*
ID: chenkai4
PROG: preface
LANG: C++
*/
#include <iostream>
using namespace std;
int N;

int nums[7]={0};
char fuckfuck[7]={'I','V','X','L','C','D','M'};
int change(int fuck)
{
	if(fuck==1) return 0;
	else if(fuck==5) return 1;
	else if(fuck==10) return 2;
	else if(fuck==50) return 3;
	else if(fuck==100) return 4;
	else if(fuck==500) return 5;
	else return 6;
}

void jiexi(int n)
{
	int b=1,t;
	while(n)
	{
		t=n%10;
		if(t==9)
		{
			nums[change(1*b)]++;
			nums[change(10*b)]++;
		}
		else if(t==4)
		{
			nums[change(1*b)]++;
			nums[change(5*b)]++;
		}
		else
		{
			nums[change(5*b)]+=t/5;
			t%=5;
			nums[change(1*b)]+=t;
		}
		n/=10;
		b*=10;
	}
}
int main()
{
	freopen("preface.in","r",stdin);
	freopen("preface.out","w",stdout);
	scanf("%d",&N);
	for(int a=1;a<=N;a++)
		jiexi(a);
	for(int a=0;a<7;a++)
		if(nums[a]>0)
			printf("%c %d\n",fuckfuck[a],nums[a]);
	return 0;
}

⌨️ 快捷键说明

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