- 弱弱的战壕
- @ 2014-04-08 20:34:07
评测结果
    编译成功
Free Pascal Compiler version 2.6.2 [2013/02/12] for i386
    Copyright (c) 1993-2012 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling foo.pas
    foo.pas(37,13) Warning: Variable "a" does not seem to be initialized
    Linking foo.exe
    41 lines compiled, 0.1 sec , 28448 bytes code, 1628 bytes data
    1 warning(s) issued
    测试数据 #0: Accepted, time = 0 ms, mem = 908 KiB, score = 10
    测试数据 #1: Accepted, time = 0 ms, mem = 916 KiB, score = 10
    测试数据 #2: Accepted, time = 15 ms, mem = 912 KiB, score = 10
    测试数据 #3: Accepted, time = 15 ms, mem = 912 KiB, score = 10
    测试数据 #4: Accepted, time = 62 ms, mem = 912 KiB, score = 10
    测试数据 #5: Accepted, time = 0 ms, mem = 908 KiB, score = 10
    测试数据 #6: Accepted, time = 15 ms, mem = 908 KiB, score = 10
    测试数据 #7: Accepted, time = 0 ms, mem = 908 KiB, score = 10
    测试数据 #8: Accepted, time = 0 ms, mem = 912 KiB, score = 10
    测试数据 #9: Accepted, time = 0 ms, mem = 912 KiB, score = 10
    Accepted, time = 107 ms, mem = 916 KiB, score = 100
    代码
    Var a:Array[0..15000] of Longint;
        map:Array[0..15005,1..2] of Longint;
        i,j,t,n:Longint;
    Procedure qsort(l,r:Longint);
     Var i,j,mid1,mid2:Longint;
    Begin
        i:=l;
        j:=r;
        mid1:=map[(l+r) Div 2,1];
        mid2:=map[(l+r) Div 2,2];
        Repeat
            While (map[i,1]>mid1) Or ((map[i,1]=mid1) And (map[i,2]>mid2)) Do Inc(i);
            While (map[j,1]<mid1) Or ((map[j,1]=mid1) And (map[j,2]<mid2)) Do Dec(j);
            If (i<=j) Then
            Begin
                map[0]:=map[i];
                map[i]:=map[j];
                map[j]:=map[0];
                Inc(i);
                Dec(j);
            End;
        Until i>j;
        If (j>l) Then qsort(l,j);
        If (i<r) Then qsort(i,r);
    End;
    Begin
        Readln(n);
        For i:=1 To n Do
            Readln(map[i,1],map[i,2]);
        qsort(1,n);
        For i:=1 To n Do
        Begin
            t:=0;
            For j:=i+1 To n do
                If (map[i,1]>=map[j,1]) And (map[i,2]>=map[j,2]) Then
                    Inc(t);
            Inc(a[t]);
        End;
        For i:=0 To n-1 Do
            Writeln(a[i]);
    End.
3 条评论
- 
  hahayang LV 10 @ 2017-04-03 15:21:16不用排序吧? var a, b:array[1..15000] of longint; f:array[0..14999] of longint; n, i, j, s:longint; begin readln(n); for i:=1 to n do readln(a[i], b[i]); fillchar(f, sizeof(f), 0); for i:=1 to n do begin s:=0; for j:=1 to n do if (i<>j) and (a[i]>=a[j]) and (b[i]>=b[j]) then inc(s); inc(f[s]) end; for i:=0 to n-1 do writeln(f[i]) end.
- 
  @ 2015-05-04 13:07:15#include <cstdio> 
 #include <cmath>
 #include <cstring>
 #include <iostream>
 #include <algorithm>
 #include <vector>
 using namespace std;
 int x[5005],y[5005];
 int n,k;
 int a[5005];
 int main (){
 freopen ("trench.in","r",stdin);
 freopen ("trench.out","w",stdout);
 scanf ("%d",&n);for(int i=0;i<n;i++) 
 scanf ("%d%d",&x[i],&y[i]);
 for (int i=0;i<n;i++){
 k=0;
 for (int j=0;j<n;j++)
 if (i!=j && x[i]>=x[j] && y[i]>=y[j])
 k++;a[k]++; } 
 for (int i=0;i<n;i++)
 printf ("%d\n",a[i]);
 return 0;
 }
- 
  @ 2014-04-11 20:14:35Good! 
- 1