HDU 1106 정렬
2993 단어 HDU
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27961 Accepted Submission(s): 7710
Problem Description
한 줄 의 숫자 를 입력 하 십시오.만약 에 우리 가 이 줄 의'5'를 모두 빈 칸 으로 본다 면 한 줄 을 빈 칸 으로 나 누 는 몇 개의 비 마이너스 정수(일부 정 수 는'0'으로 시작 할 수 있 습 니 다.이 머리의'0'은 무시 되 어야 합 니 다.이 정수 가 몇 개의'0'으로 구성 되 어 있 지 않 으 면 이 정 수 는 0 입 니 다)를 얻 을 수 있 습 니 다.
당신 의 임 무 는 이 분 단 된 정수 에 대해 작은 것 부터 큰 것 까지 순서대로 출력 하 는 것 입 니 다.
Input
여러 그룹의 테스트 용례 를 포함 하고 각 그룹의 입력 데 이 터 는 한 줄 의 숫자(숫자 사이 에 빈 칸 이 없 음)만 있 으 며 이 줄 의 길 이 는 1000 보다 크 지 않 습 니 다.
입력 데이터 보증:분 할 된 비 마이너스 정 수 는 100000000 보다 크 지 않 습 니 다.입력 데 이 터 는 모두'5'로 구 성 될 수 없습니다.
Output
모든 테스트 용례 에 대해 출력 분할 이 얻 은 정수 정렬 결 과 는 인접 한 두 정수 사이 에 하나의 빈 칸 으로 나 뉘 어 각 그룹의 출력 이 한 줄 을 차지한다.
Sample Input
0051231232050775
Sample Output
0 77 12312320
방법 1
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(new BufferedInputStream(System.in));
while(sc.hasNext()){
ArrayList<Integer> ay=new ArrayList<Integer>();
String s=sc.next();
String str[]=s.split("5");
for(String s1:str){
if(!s1.equals("")){
ay.add(Integer.parseInt(s1));
}
}
Collections.sort(ay);
for(int i=0;i<ay.size()-1;i++)
System.out.print(ay.get(i)+" ");
System.out.println(ay.get(ay.size()-1));
}
}
}
방법 2
import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
PrintWriter pw = new PrintWriter(new BufferedOutputStream(System.out),true);
while (sc.hasNext()) {
String s = sc.next();
sc.nextLine();
if (s.charAt(0) == '-')
s = s.substring(1);
String str[] = s.split("[5]");
BigInteger big[] = new BigInteger[str.length];
int k = 0;
for (int i = 0; i < str.length; i++) {
if (!str[i].equals("")) {
big[k] = BigInteger.valueOf(Integer.parseInt(str[i]));
k++;
}
}
for (int i = 0; i < k; i++) {
for (int j = i + 1; j < k; j++) {
if (big[i].compareTo(big[j]) == 1) {
BigInteger t = big[i];
big[i] = big[j];
big[j] = t;
}
}
}
for (int i = 0; i < k - 1; i++)
System.out.print(big[i] + " ");
System.out.println(big[k - 1]);
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[HDU] 4089 활성화 확률 DPdp[i][j]를 모두 i개인의 대기열인 Tomato가 j위 서버가 마비될 확률로 역추를 사용하면 우리는 상태 이동 방정식을 얻을 수 있다. i == 1 : dp[1][1] = dp[1][1] * p1 + dp[1]...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.