⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3078.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:
Source

Problem Id:3078  User Id:fzk 
Memory:1528K  Time:218MS
Language:Java  Result:Accepted

Source 

import java.math.BigInteger;
import java.util.*;

public class Main
{
	static String name[] = new String[20];
	static int pos[] = new int[20];
    public static void main(String args[])
    {
       Scanner cin = new Scanner( System.in );
       int t, n, m, a, b;
       t = cin.nextInt();
       while( t-- != 0 ) {
    	   n = cin.nextInt();
    	   m = cin.nextInt();
    	   for( int i=0; i<n; i++ ) {
    		   name[i] = cin.next();
    		   pos[i] = i;
    	   }
    	   boolean sign[] = new boolean[20];
    	   boolean flag[] = new boolean[20];
    	   while( m-- != 0 ) {
    		   a = cin.nextInt();
    		   b = cin.nextInt();
    		   a--;
    		   b--;
    		   pos[b] = a;
    		   sign[a] = true;
    		   flag[b] = true;
    	   }
    	   int j=0;
    	   for( int i=0; i<n; i++ ){
    		   if( flag[i])
    			   System.out.print( name[pos[i]] );
    		   else {
    			   while( sign[j] )
    				   j++;
    			   System.out.print( name[j] );
    			   j++;
    		   }
    		   if( i<n-1 )
    			   System.out.print( " " );
    		   else
    			   System.out.print( "\n" );
    	   }
       }
       return;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -