ZOJ Monthly, May 2011 - B Roman Order
2011-05-01 16:11
423 查看
简单的字符串比较
#include<iostream> using namespace std; #include<string> #include<algorithm> struct node { string s; int num; }a[10010]; string f[4][9]={{"M","MM","MMM"},{"C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},{"X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},{"I","II","III","IV","V","VI","VII","VIII","IX"}}; bool cmp(node a,node b) { return a.s<b.s; } string change(int n) { string s1; int cnt1=1,cnt2=0; for(int i=1;i<=4;i++) { int t=n/(1000/cnt1); if(t==0) { cnt2++; n%=1000/cnt1; cnt1*=10; continue; } else { s1+=f[cnt2++][t-1]; } n%=1000/cnt1; cnt1*=10; } return s1; } int main() { //freopen("a.txt","r",stdin); int t; while(cin>>t) { while(t--) { int n; cin>>n; int i; for(i=0;i<n;i++) { cin>>a[i].num; a[i].s=change(a[i].num); } sort(a,a+n,cmp); cout<<a[0].num; for(i=1;i<n;i++) { cout<<" "<<a[i].num; } cout<<"/n"; } } return 0; }
相关文章推荐
- ZOJ Monthly, May 2011 - I The War
- ZOJ Monthly, May 2011
- ZOJ Monthly, August 2011 zoj 3528
- may 13,2011
- May,17,2011
- ZOJ Monthly, August 2011 zoj 3520
- may 6,2011
- ZOJ Monthly, August 2011 zoj 3523
- PMI Agile Certification Pilot Begins in May 2011
- may 17,2011
- NetBeans 时事通讯(刊号 # 147 - May 18, 2011)
- may 22,2011
- ZOJ 4528 ZOJ Monthly, October 2011 A
- may 9,2011
- NetBeans 时事通讯(刊号 # 147 - May 18, 2011)
- may 25,2011
- ZOJ Monthly, July 2011 【B 】Cake Robbery
- ZOJ 4535 ZOJ Monthly, October 2011 H
- ZOJ Monthly, October 2011 (DP+数学专场!!!)
- may 4, 2011