2 条题解
-
0
#include<bits/stdc++.h> using namespace std; //输入保证正确 //输出看仔细 //所有情况都测 //数组定义,保证正确 string s; bool check(string s1,string s2) { int f = 0,zs2=0,xs2=0,f1=0,f2=0; for(int i = 0;i < s1.size();i ++) { if(s1[i]=='.') { f1=i; } } for(int i = 0;i < s2.size();i ++) { if(s2[i]=='.') { f2=i; } } if(f1==0) f1=s1.size(); if(f2==0) f2=s2.size(); if(f1!=f2) return f1<f2; for(int i = 0;i < f1;i ++) { if(s1[i]<s2[i]) return true; if(s1[i]>s2[i]) return false; } for(int i = f1+1;i < min(s1.size(),s2.size());i ++) { if(s1[i]<s2[i]) return true; if(s1[i]>s2[i]) return false; } return s1.size()<s2.size(); } int main() { getline(cin,s); string t = "" , ma=""; s=s+'!'; for(int i = 0;i < s.size();i++) { if(isdigit(s[i])||s[i]=='.') t=t+s[i]; else { if(t!=""&&check(ma,t)) ma=t; t=""; } // cout<<t<<" "; } cout<<ma; return 0; }
信息
- ID
- 460
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 40
- 已通过
- 24
- 上传者