1 条题解
-
0
C :
#include <stdio.h> #include <string.h> int main() { int n,value,i,sum; char a[1001],temp; int tab[26]; scanf("%d",&n); tab['I'] = 1; tab['V'] = 5; tab['X'] = 10; tab['L'] = 50; tab['C'] = 100; tab['D'] = 500; tab['M'] = 1000; while(n--) { scanf("%s",a); sum=0; for(i=0;i<strlen(a);i++) { value=tab[a[i]]; temp=a[i+1]; if((temp=='\n')||(temp=='\0')||(tab[temp]<=value)) { sum+=value; } else { sum-=value; } } printf("%d\n",sum); } return 0; }
C++ :
#include <string> #include <iostream> using namespace std; int main() { static int arab[] = {1,5,10,50,100,500,1000}; static char rome[] = {'I','V','X','L','C','D','M'}; string s[100];//n<100 int dec[100],n,i,j; cin>>n; for(int k=0;k<n;k++) { cin>>s[k]; int sum=0,former=0;//总和、当前数左边的数 for(i=0;i<s[k].length();i++) { for(j=0;j<7;j++) { if(s[k][i]==rome[j]) { if(arab[j]>former&&former)//当前数如果大于左边的 former=-former; sum+=former; former=arab[j]; if(i==s[k].length()-1) sum+=former; } } } dec[k]=sum; } for(i=0;i<n;i++) cout<<dec[i]<<endl; return 0; }
Java :
import java.util.Scanner; public class Main{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); Scanner in1 = new Scanner(System.in); int n = in.nextInt(); for (int i = 0; i < n; i++) { String s = in.next(); int[] a = new int[s.length() + 1]; for (int j = 0; j < s.length(); j++) { a[j] = lm(s.charAt(j)); } //System.out.println(a[2]); int sum = 0; for (int x = s.length() - 1; x >= 0; x--) { if (sum > a[x] && a[x] != a[x + 1]) { sum = sum - a[x]; } else { // System.out.println("111"); sum += a[x]; // System.out.println(x); } // System.out.println(sum); // System.out.println(a[x]); } // if(sum>a[0]) // System.out.println(sum-a[0]); // else System.out.println(sum); } } static int lm(char c) { switch (c) { case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'C': return 100; case 'L': return 50; case 'D': return 500; case 'M': return 1000; default: break; } return 1; } }
- 1
信息
- ID
- 558
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者