Quantcast
Channel: CodeChef Discuss - latest questions
Viewing all articles
Browse latest Browse all 39796

getting NZEC java !!

$
0
0

Here is my code :

import java.io.BufferedReader;    
import java.io.InputStreamReader;    
import java.io.IOException;

public class Main 
{     
    static final char[] spoon = {'p','o','o','n'};
    static final char[] SPOON = {'P','O','O','N'};

    static BufferedReader br;
    static String[] result;

    public static void main(String[] args)throws IOException{
        br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        result = new String[n];
        for(int ctr = 1;ctr <= n;ctr++)
            process(ctr-1);
        for (String string : result) {
            System.out.println(string);
        }
    }

    public static void process(int ctr) throws IOException
    {
        String line = br.readLine();
        String sr,sc;
        sr = line.substring(0,line.indexOf(" ")).trim();
        sc = line.substring(line.lastIndexOf(" ")).trim();
        int r = Integer.parseInt(sr);
        int c = Integer.parseInt(sc);
        char matrix[][] = new char[r][c];
        for(char[] array : matrix)
        {
            String str = br.readLine();
            for(int i = 0;i < c;i++)
                array[i] = str.charAt(i);
        }
        for (int idx = 0; idx < r; idx++) 
        {
            for (int col = 0; col < c; col++) 
            {
                if (matrix[idx][col] == 's' || matrix[idx][col] == 'S') 
                {
                    int row = idx;
                    int column = col;
                    if (spoonInRow(matrix, idx, col)) 
                    {
                        result[ctr] = "There is a spoon!";
                        return;
                    }
                    else if (spoonInColumn(matrix,idx,col)) 
                    {
                        result[ctr] = "There is a spoon!";
                        return;
                    }
                }
            }
        }
        result[ctr] = "There is indeed no spoon!";
    }

    private static boolean spoonInRow(char[][] array,int ri,int ci)
    {
        int r = array.length;
        int counter = 0;
        ri++;
        while (ri < r) 
        {
            if((array[ri][ci] == spoon[counter]) || (array[ri][ci] == SPOON[counter]))
            {
                ri++;
                counter++;
                continue;
            }
            return false;
        }
        return counter == 4;
    }

    private static boolean spoonInColumn(char[][] array,int ri,int ci)
    {
        int c = array[0].length;
        int counter = 0;
        ci++;
        while (ci < c) 
        {            
            char ch = array[ri][ci];
            if((ch == spoon[counter]) || (ch == SPOON[counter]))
            {
                ci++;
                counter++;
                continue;
            }
            return false;
        }
        return counter == 4;
    }  
}

it runs perfectly for the test cases in my PC ! this problem

I have read the faq could not find my solution there


Viewing all articles
Browse latest Browse all 39796

Trending Articles