B.新年順列

 

http://codeforces.com/contest/500/problem/B

 

互いに素セット

 

1つの インポートjava.util.Scanner。
2つの 
3  パブリック クラスメイン{
 4      静的 最終 INT MAX = Integer.MAX_VALUEで、
5      静的 INT [] F = 新しい INT [1000 ]。
6  
7      パブリック 静的 ボイドメイン(文字列[]引数){
 8          スキャナーIO = 新しいスキャナ(System.in)。
9          INT N = io.nextInt()。
10  
11          INT [] = 新しい INT [N]。
12          のためのint型 i = 0; iがN <; I ++は、[I] = I F)[I] = io.nextInt()。
13  
14          のためにint型 I = 0、FX、FY、iがn <; iは++ ){
 15              のString = io.nextLine()。
16              一方(s.length()== 0)S = io.nextLine()。
17              のためにINT J ++; J <s.length()J = 0 18                  であれば(s.charAt(J)== '1' ){
 19                      Fxが= (i)を見つけます。
20                      年度には、= (j)を見つけます。
21                      F [FX] = FY。
22                 }
 23          }
 24  
25          のためにint型 i = 0; iがN <; Iは++ ){
 26              のためにint型 J = I + 1、J <nであり、j ++ ){
 27                  であれば([I]> [J] &&見つけます(I)== 検索(J)){
 28                      INT T = A [i]は、
29                      [i]は= [j]を。
30                      [j]は= Tと、
31                  }
 32              }
 33          }
 34  
35          のためにINTI = 0; 私は、n <; 私は++)System.out.print([I] + "" )。
36      }
 37  
38      静的 INT検索(INT X){
 39          リターン [X] == X F?X:([X] = F [X])F(見つけます);
40      }
 41  
42 }

 

おすすめ

転載: www.cnblogs.com/towerbird/p/11410153.html