热门

当前位置:主页 > 热门 >

【NOIP2013模拟】皇冠篮球比分网

Description

因左右七夕节,被扣上情人节的使出名。因此TYVJ本年握住了一次线下皇冠篮球比分网。Vani的先生成招致CL同窗陪他渡过,因此他们确定去TYVJ皇冠篮球比分网游转。

TYVJ皇冠篮球比分网和11区的夏祭的花样很像。款待场子由矩形排N米栏共有权n米档。。尽管不愿意有很多畜栏,但要做错对感兴味的人,如章鱼激情、苹果糖、喜欢糖、射击之家……以及诸如此类。Vani预先准备好的关联了皇冠篮球比分网的负责人zhq,缺少能妥善对待会场。,使CL感兴味的点的号码与数字相同的人。,每个年史的兴味也类似于多。。

但ZHQ通知Vani,收费畜栏曾经使筋疲力尽。,假使你想清偿过的CL的问,但是的方式是适应两个邻近的畜栏的买卖。。邻近的两档,当且仅当它们在同支座 反力影响线或同一列上时。鉴于LED的砾石阻尤指手枪或步枪的打开队曾经成地狗腿tyvj,每支座 反力影响线或列的第人家和终于人家所在地作为邻近计算。。如今Vani远超过预期的他的两问清偿过的多。在此先决条件的下,多少不等次至多必要交换物畜栏。

Input

第支座 反力影响线容纳三个整体n、m和t。。T说CL对多少不等畜栏感兴味。。

接下来,T线,每行两个整体x, y,CL说,在一排X栏Y档利钱。。

Output

率先,输出人家字母行。假使你能清偿过的懂得问的Vani,输出;假使经过适应最适当的使CL感兴味的点的号码与数字相同的人。,输出行;假使你最适当的把每个列说话中肯CL数和O数类似于多。,输出列;假使心不在焉十足的,输出是不能置信的的。

假使输出字母行做错不能置信的的, 接下来,输出最小转换器数。,用空格隔开字母行。

Sample Input

诸如输出1

2 3 4

1 3

2 1

2 2

2 3

诸如输出2

3 3 3

1 3

2 2

2 3

Sample Output

示例输出1

row 1

示例输出2

both 2

Data Constraint

朝着30% 的最高纪录,N, M≤100。

朝着70% 的最高纪录,N, M≤1000。

朝着100% 的最高纪录,1≤N, M≤100000,0≤T≤min(NM, 100000),1≤x≤N,1≤y≤M。

题解:

题意

让我给你人家n行m列的图。,图片中有T点,这是小机件最喜欢的非常。,他缺少,每行的点数是相当的(行),或许每个列说话中肯点数数量点的编号。,或每列每行的点数数量点数。

办法

办法1:
粗制的东西搜索。更多的粗制的东西,更多的粗制的东西,该死的,该死的,

置信欺侮的使中邪,粗制的东西壮观

从第人家数 k 所在地开端(1)<=k<=n),按照题目描述的养护交换物目的所在地,累计进答案。终于取最小值。

工夫复杂性 O(n^2),估计得分 70 分。

办法2:

向前满分法,笔者可以找到,每行的点数是类似于的。,n必需清偿过的是t的除数,同一地,m必需清偿过的是t的除数。抑或,不能置信的。受胎左右意向,思绪完全地。
笔者可以设置人家行打扮。,每行每行的目的回复(T/N)多少不等钱?,
同一地,笔者可以设置人家列打扮。,每个列的目的答案(t/N)中间的差额是多少不等?。

后来,它可以被类别和议论。。

率先,朝着行,你可以设置人家前缀和PRE1打扮。假使你从K所在地开端,因而我堆,我1堆中间的买卖量正| Prei Prek,总花钱的东西执意|Pre1-Prek|+|Pre2-Prek|+|Pre3-prek|+……+|Pren-Prek|,可以显示证据,当SK中位数。,显然,他破费最少。。因而你可以前缀和排序,找到他的中位,这么样你就可以记载答案了,ans=|prei-mid|.
向前前缀总数的办法,执意Pre[i]=Pre[i-1行[我]
前缀,便于后头处置。。

同一,柱的养护同样类似于的。。

向前两个,自然,它增多了两个答案。。

因此工夫复杂性就很小了落下O(nlogn+mlogm)(最坏的both养护)。

前程100

Code



using namespace std;

int n,m,T;
int [ N ],b[N],行[ n ],列[ n ],Pre1[N],Pre2[N];
long long ans=0;

int main()
{
    scanf("%d%d%d",&n,&m,&T);
    佛(我,1,T)
    {
        intx,y;
        scanf("%d%d",&x,&y);
        Row[x]++;
        Column[y]++;    
    }
    if (T%n!=0 && T%m!=0)
    {
        printf("impossible");
        return0;
    }
    if (Tm)
    {
        printf("impossible");
        return0;
    }
    佛(我,1,n) 行[ i ]
    佛(我,1,m) Column[i]-=T/m;
    if (T%n==0)
    {
        佛(我,1,n) Pre1[i]=Pre1[i-1行[我]
        sort(Pre1+1,Pre1+1+n);
        long long mid=Pre1[(n+1)/2];
        佛(我,1,n) ans+=abs(mid-Pre1[i]);
    }
    if (T%m==0)
    {
        佛(我,1,m) Pre2[i]=Pre2[i-1年史[我]
        sort(Pre2+1,Pre2+1+m);
        long long mid=Pre2[(m+1)/2];
        佛(我,1,m) ans+=abs(mid-Pre2[i]);
    }
    if (T%n==0 && T%m==0) printf("both %lld
",ANS)
    elseif (T%n==0) printf("row %lld
",ANS)
    elseif (T%m==0) printf("column %lld
",ANS)
    return0;
}

咨询热线:  Copyright © 2016-2017皇冠足球 - 皇冠体育 - 皇冠篮球比分网版权所有