있습니다 N 개인은 식당 두서 치킨 쌀을 구입하기까지 대기한다. 25위안의 각 방랑의 치킨 라이스. 이상한 것은 하나의 법안 (각 주 25, 50 달러의 액면가) 및 매점 이모의 모든 사람의 손이 변경없이 시작이다. 매점 이모 모두에게 변화를 줄 수있는 것 (가정 그 식당의 아줌마 스마트 충분히)

아이디어 :

N 개인 비용의 메모리 어레이는 메모리의 다른 세트는 순서에 관계없이 변화를 찾고

코드 :

수입 인 java.util.ArrayList;
수입 java.util.Scanner; 

공용  클래스 주요 {
     공공  정적  무효 메인 (문자열 []에 args) { 
        ArrayList에 <정수> = 목록 새로운 ArrayList를 <> (); 
        스캐너 SC는 = 새로운 스캐너 (System.in)를;
        INT N = sc.nextInt ();
        INT [] = 도착 새로운  INT [N];
        위한 ( INT I = 0; I N <; I ++ ) { 
            도착은 [I] = sc.nextInt ();
        }
        에서 System.out.println (테스트 (편곡, 목록)); 
    } 

    공용  정적 스트링 시험 ( INT [] 도착, ArrayList에 <정수> 리스트) {
         INT keyi = 0 ;
        위한 ( INT ; I <arr.length; 나는 0 = I ++ ) {
             경우 (도착 [I] == 25 ) { 
                에는 list.add (도착 [I]); 
                keyi ++ ; 
            
            } 다른  경우 (도착 [I] == 50 ) {
                  ( INT J = 0; J <는 list.size (); J ++ ) {
                     만약(list.get (j) == 25 ) { 
                        list.remove (j); 
                        에는 list.add ( 50 ); 
                        keyi ++ ;
                        휴식 ; 
                    } 

                } 
            } 
            다른  경우 (도착 [I] == 100 ) {
                 INT twenteFive = 0 ;
                int로 오십 = 0 ;
                 ( INT , J <는 list.size (); J = 0 J ++ ) {
                     경우 (list.get (j) == 25 ) { 
                        twenteFive++ ; 
                    } 다른  경우 (list.get (j) == 50 ) { 
                        오십 ++ ; 
                    } 
                } 

                경우 (twenteFive> = 3 || 오십> = 1 && twenteFive> = 1 ) {
                     경우 (오십> = 1 && twenteFive> = 1 ) {
                          ( INT J = 0; J <는 list.size (); J ++ ) {
                             경우 ( list.get (j) == 25 ) { 
                                list.remove (j); 
                                휴식 ; 
                            }
                        } 
                        
                        에 대한 ( INT J = 0; J <는 list.size (); J ++ ) {
                             경우 (list.get (j) == 50 ) { 
                                list.remove (j); 
                                휴식 ; 
                            } 
                        } 
                        keyi ++ ; 
                        
                    } 
                    다른  경우 (twenteFive> = 3 ) { 
                    
                         ( INT J = 0; J <3; J ++ ) {
                              ( INT J2 = 0; J2 <는 list.size (); J2 ++ ) {
                                 만약 (list.get (J2) == 25 ) {
                                    list.remove (J2); 
                                    휴식 ; 
                                } 
                            } 
                        } 
                        keyi ++ ; 
                        
                    
                    } 
                } 
            } 
        } 


        경우 (keyi == arr.length) {
              "YES"를 ; 
        } 다른 {
             반환 "NO" ; 
        } 


    } 
}

 

추천

출처www.cnblogs.com/BLACKJT/p/12417016.html