首页 > 专题系列 > Java解POJ > POJ 2182 Lost Cows [解题报告] Java
2013
11-10

POJ 2182 Lost Cows [解题报告] Java

Lost Cows

问题描述 :

N (2 <= N <= 8,000) cows have unique brands in the range 1..N. In a spectacular display of poor judgment, they visited the neighborhood 'watering hole' and drank a few too many beers before dinner. When it was time to line up for their evening meal, they did not line up in the required ascending numerical order of their brands.

Regrettably, FJ does not have a way to sort them. Furthermore, he’s not very good at observing problems. Instead of writing down each cow’s brand, he determined a rather silly statistic: For each cow in line, he knows the number of cows that precede that cow in line that do, in fact, have smaller brands than that cow.

Given this data, tell FJ the exact ordering of the cows.

输入:

* Line 1: A single integer, N

* Lines 2..N: These N-1 lines describe the number of cows that precede a given cow in line and have brands smaller than that cow. Of course, no cows precede the first cow in line, so she is not listed. Line 2 of the input describes the number of preceding cows whose brands are smaller than the cow in slot #2; line 3 describes the number of preceding cows whose brands are smaller than the cow in slot #3; and so on.

输出:

* Lines 1..N: Each of the N lines of output tells the brand of a cow in line. Line #1 of the output tells the brand of the first cow in line; line 2 tells the brand of the second cow; and so on.

样例输入:

5
1
2
1
0

样例输出:

2
4
5
3
1

解题代码:

/* @author: */
import java.util.Scanner;
public class Main{
  public static void  main(String args[]) 
{
  int p[]=new int[8010];
  int q[]=new int[8080];
  int n,k;
  Scanner sc=new Scanner(System.in);
  n=sc.nextInt();
  p[0]=0;
  for(int i=1;i< n;i++)
  {
     k=sc.nextInt();
     for(int j=i;j>k;j--)
	  p[j]=p[j-1];
	  p[k]=i;
  }
  for(int i=0;i< n;i++)
	q[p[i]]=i;
  for(int i=0;i< n;i++)
	System.out.printf("%d\n",q[i]+1);
  }
}

  1. 很高兴你会喜欢这个网站。目前还没有一个开发团队,网站是我一个人在维护,都是用的开源系统,也没有太多需要开发的部分,主要是内容整理。非常感谢你的关注。

  2. Thanks for using the time to examine this, I truly feel strongly about it and enjoy finding out far more on this subject matter. If achievable, as you achieve knowledge