Hatena::Grouptopcoder

(*/∇\*)  黒歴史恥ずかしい (*/∇\*)

Linux/C++組込みエンジニアですが、コンテストではJava使っています。
Profile: とぷこだ こどふぉ ページビュー:16902
 | 

2011-05-01

Codeforces Beta Round #71 16:22 Codeforces Beta Round #71 - (*/∇\*)   黒歴史恥ずかしい (*/∇\*)  を含むブックマーク はてなブックマーク - Codeforces Beta Round #71 - (*/∇\*)   黒歴史恥ずかしい (*/∇\*)

きつねかわいいよ、きつね。


ABus GameAccepted39分
BColorful FieldWrong answer on pretest 22時間
CBeaverUnopend
DPasswordUnopend
ESecurity SystemUnopend

BでFieldを0,0始まりとみなしたコーディングをしてしまって死亡。

最初、SampleTestで結果が一個ずつズレて出力されたので、

Arrays.binarySearchのJavadocの記載にある「検索キーがリストにない場合は (-(挿入ポイント) - 1)」

の-1が原因かな?と思って、Wasteのoffsetを1ずらしてsubmit。

そしたらWAで悩み続けてタイムアウト。

試験終わってから、offsetをずらさないでも良かったことに気づき、

代わりに配列をゼロ始まりで計算しちゃってることに気付き、

修正。

wasteTbl[i] = (Integer.parseInt(args[0]))*m + Integer.parseInt(args[1]);
↓
wasteTbl[i] = (Integer.parseInt(args[0])-1)*m + Integer.parseInt(args[1]);

B ソース

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Problem71B{

    public static void main(String argaaaaa[]) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();
        
        String args[] = line.split(" ");
        if(args.length != 4) {
            return;
        }
        int n = Integer.parseInt(args[0]);
        int m = Integer.parseInt(args[1]);
        int k = Integer.parseInt(args[2]);
        int t = Integer.parseInt(args[3]);
        
        int wasteTbl[] = new int[k];
        for(int i = 0; i < k; i++) {
            line = br.readLine();
            args = line.split(" ");
            wasteTbl[i] = (Integer.parseInt(args[0])-1)*m + Integer.parseInt(args[1]);
        }
        Arrays.sort(wasteTbl);
        
        for(int i = 0; i < t; i++) {
            line = br.readLine();
            args = line.split(" ");
            int p = (Integer.parseInt(args[0])-1)*m + Integer.parseInt(args[1]);
            binsearch(wasteTbl, p);
        }
    }

    private static void binsearch(int tbl[], int p) {
        int offset = Arrays.binarySearch(tbl, p);
        if(offset < 0) {
        } else {
           System.out.println("Waste");
           return;
        }
        
        int item = p + offset;
        switch(item % 3) {
        case 0:
            System.out.println("Carrots");
            return;
        case 1:
            System.out.println("Kiwis");
            return;
        case 2:
            System.out.println("Grapes");
            return;
        }
    }
}


←デバッカをちゃんとつかおう!!!!!

GertGert2011/08/31 23:14Very true! Makes a change to see soemnoe spell it out like that. :)

orhfgftahcorhfgftahc2011/09/01 01:50MYIY9W <a href="http://thnlvnshtrff.com/">thnlvnshtrff</a>

maabplpmaabplp2011/09/02 20:43I9qiiZ , [url=http://jfyreimhazar.com/]jfyreimhazar[/url], [link=http://ropdykkagibg.com/]ropdykkagibg[/link], http://dyyssuyoepiz.com/

khstjqkfnzkhstjqkfnz2011/09/04 01:58ReK1CM , [url=http://sbovewwsjurt.com/]sbovewwsjurt[/url], [link=http://eproyirjwiim.com/]eproyirjwiim[/link], http://dpevejvhnvbt.com/

StarleighStarleigh2012/11/14 17:00Good points all arnoud. Truly appreciated.

syywztvbsyywztvb2012/11/15 12:05LQ9SUs <a href="http://bytzusteydmc.com/">bytzusteydmc</a>

pzmgvuhmspkpzmgvuhmspk2012/11/16 10:274EpGDV , [url=http://fxoekarczkyl.com/]fxoekarczkyl[/url], [link=http://visgwjrpgter.com/]visgwjrpgter[/link], http://pecsyfbrmojs.com/

cyzmkixpcyzmkixp2012/11/17 11:12g3aGak <a href="http://isrszltpagij.com/">isrszltpagij</a>

ubgbmmvqtubgbmmvqt2012/11/17 20:47mWABjz , [url=http://uvresptxeaxw.com/]uvresptxeaxw[/url], [link=http://gxmzivwbmbow.com/]gxmzivwbmbow[/link], http://usofrjcumvnm.com/

 |