2014年7月7日 星期一

羅馬數字

//加錯減回來
#include <iostream>
#include <map>
using namespace std;
 
char r[7] = {'M''D''C''L''X''V''I'};
int a[7] = {1000, 500, 100, 50, 10, 5, 1};
 
int main(){
 map<char,int> m;
 char s[80];
 for (int i=0;i<7;i++)
  m[r[i]]=a[i];
 cin >> s;
 int i=0,amount=0;
 amount = m[s[0]];
 i++;
 while(s[i]){
  amount += m[s[i]];
  if (m[s[i]]>m[s[i-1]])
   amount-=m[s[i-1]]*2;  
  i++;
 }
 cout << amount; 
 return 0; 
}

沒有留言:

張貼留言