TopCoder

icube
baluteshih 好強 <(_ _)>

User's AC Ratio

100.0% (9/9)

Submission's AC Ratio

34.0% (16/47)

Tags

Description

在某次戰役中,DarkKnight 率軍出征,他的軍隊呈現矩形狀,有N排每排有M個士兵

並且使用古老黑暗孫子兵法的陣形,調整每橫排最高戰力的士兵(稱之為英雄)使得:

  每橫排"英雄"的縱列位置,一定比上一排"英雄"的縱列位置還右邊

  第0排:p p p p p p   ←示意圖,紅色的p為英雄。

  第1排:p p p p p p

  第2排:p p p p p p

  第3排:p p p p p p

現在,勇者你知道軍隊都符合這樣一個陣形,你要做的事情就是

替DarkKnight列出每橫排英雄的戰鬥力,好讓DarkKnight分析軍隊戰力

非常幸運的,這是一個互動題,請你先引入標頭檔#include "lib1360.h",然後就可以用這些函數了!


  • void WarCraft():無論如何請先呼叫WarCraft響起戰爭的號角!!

  • int Find_n():傳參謀告訴你軍隊共有N列。

  • int Find_m():傳參謀告訴你每列裡有M位士兵。

  • int Hey_Man(int X,int Y):去跟第X排第Y位士兵打招呼,得知這位士兵的戰鬥力是多少。

  • void Report(int R):回報此橫排英雄戰鬥力是多少。

    注意!!請依序Report()答案,所以你將會有N次Report()的動作。無須做任何空格及換行動作。

※你可以從這裡下載測試用的中繼檔,編譯時請連同該檔案一起編譯即可。
編譯指令範例:g++ 1360.c 1360_soldier.o -o 1360

Input Format

「兵不厭詐,這是戰爭!」

Output Format

「人無信就是畜生!」

Hints

其他限制:1≦N≦100000,1≦M≦1060000。另外,英雄的戰鬥力一定大於0且大於其他士兵,一排只有一位英雄。

這裡有一個絕對可以通過第一組測試資料的code,僅供參考。(以下code全形空白會造成compile error)

#include<stdio.h>
#include "lib1360.h"
main()
{
  WarCraft();
  int i,j,k,n=Find_n(),m=Find_m();

  for( i = 0;i < n;i++)
  {
    for( j = k = 0;j < m;j++)
     k>?=Hey_Man(i,j);
    Report(k);
  }
}

※2008/07/10 測試資料以及測資範圍修正 by Tmt。
※2008/07/10 時間限制修正 by Tmt,感謝 akira。
※2008/07/10 1360_soldier.h修正以防奧步 by ggm,感謝 Tmt。
※2008/07/10 使用GCC編繹似乎會抓不到.h,請使用G++編繹,by hallogameboy,感謝 sa072686。
※2008/07/10 互動程式庫修正,如今GCC也可以使用 by akira。
※2008/07/11 錯字以及範例程式修正 by akira,感謝 math120908。
※2008/09/11 士兵編號是從第0位開始喔~揪咪~ by hallogameboy,感謝 peter50216。

Problem Source

原TIOJ1360 / 快樂暑假營第一次練習比賽。Problem Setter:ggm

Subtasks

No. Testdata Range Score
1 0 25
2 1 25
3 2 25
4 3 25

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 5000 65536 262144 1
1 5000 65536 262144 2
2 5000 65536 262144 3
3 5000 65536 262144 4