CodeChef is a non-commercial competitive programming community
Login
Username (New User? Signup) Password (Forgot Password?)
Signup
Login or
Signup with
Connect
Note
  • Publicize your achievements on your Facebook Wall.
  • Challenge your friends or ask them for help.

Site Navigation

  • PRACTICE
    • Easy
    • Medium
    • Hard
    • Challenge
    • Peer
  • COMPETE
    • All Contests
    • June Long 2012
    • May Cook-Off
    • May Long 2012
  • DISCUSS
    • Forums
    • Blog
    • Wiki
    • Facebook
    • Twitter
  • COMMUNITY
    • CodeChef Meetups
    • Campus Chapters
    • Host your Contest
    • User Groups
    • CodeChef TechTalks
    • All Educational Initiatives
  • HELP
    • Frequently Asked Questions
    • FAQ for problem setters
    • Problem Setting
    • Tutorials
    • Long Contest Ranks
    • Short Contest Ranks
    • Event Calendar
  • ABOUT
    • About CodeChef
    • Team CodeChef
    • Press Room
    • CodeChef Financials
    • CodeChef Sponsorships
    • CEO's Corner
    • Contact Us
    • About Directi
Home » Practice(easy) » Exploding Search

Exploding Search

Problem code: INSOMA2

  • Submit
  • All Submissions

All submissions for this problem are available.

Magazines and newspapers often have letter matrices in which certain words need to be located. Umesh, a puzzle fanatic at IIT Roorkee, had an idea for a new kind of searching puzzle. In the letter matrix provided, words can be located along any set of diagonals, with repetition of past selected letters.

For example, in the letter matrix:

 

B X A X X
X A X X X
X B B X X
X A X A X
X X B X X


 

The string ABA can be found in 14 different ways – corresponding to the following locations:

 

A	        B	        A
(1,1) (0,0) (1,1)
(1,1) (2,2) (3,1)
(1,1) (2,2) (3,3)
(1,1) (2,2) (1,1)
(3,1) (2,2) (3,1)
(3,1) (2,2) (3,3)
(3,1) (4,2) (3,1)
(3,1) (4,2) (3,3)
(3,1) (2,2) (1,1)
(3,3) (2,2) (3,3)
(3,3) (2,2) (1,1)
(3,3) (2,2) (3,1)
(3,3) (4,2) (3,1)
(3,3) (4,2) (3,3)

 

So, given a matrix of size NxN, you need to find out the total number of locations of a particular string. The input and output formats are as follows:

Input

Line 1: N. 1 <= N <= 1000
Line 2 to N+1: Elements of the NxN matrix in row major order (separated by a space)
Line N+2: The string to search. Maximum length of this string will be N2.

Output

Line 1: The number of ways in which the string can be found in the matrix.

Example

Input:
5
B X A X X
X A X X X
X B B X X
X A X A X
X X B X X
ABA

Output:
14


Author: admin
Date Added: 19-03-2009
Time Limit: 2 - 7 sec
Source Limit: 50001 Bytes
Languages: ADA, ASM, BASH, BF, C, C99 strict, CAML, CLPS, CPP 4.0.0-8, CS2, D, ERL, FORT, HASK, ICK, ICON, JAR, JAVA, JS, LISP clisp, LISP sbcl, LUA, NEM, NICE, PAS fpc, PAS gpc, PERL, PHP, PIKE, PRLG, PYTH, PYTH 3.1.2, RUBY, SCALA, SCM guile, SCM qobi, ST, TEXT, WSPC


  • Submit

Comments

  • Login or Register to post a comment.

dpatwardhan @ 5 May 2009 06:32 AM

In the sample input, according to the size of the matrix, the value at the first line should be 5, instead of 8. I hope actual test cases are right!

david70 @ 2 Aug 2009 10:22 AM

Why this problem is not available?

srijitdutt @ 2 Aug 2009 12:10 PM

i cant select language on the submission page for this problem, though for other problems its working.... please look into the matter

admin 2 @ 2 Aug 2009 06:54 PM

Fixed.

How is 4,2 a B? Looks like

gfosco @ 19 Aug 2009 10:55 PM
How is 4,2 a B? Looks like an X to me...

Nevermind my last comment...

gfosco @ 19 Aug 2009 10:56 PM
Nevermind my last comment... row-major order... I get it now.

Please, fix the example

stolis @ 1 Oct 2009 02:04 AM

Please, fix the example input. It is incorrect. The size of the matrix should be 5 instead of 8. I am sure about that - I just submitted successful solution.

Fixed.

i0exception @ 1 Oct 2009 01:07 PM

Fixed.

my program is working fine

nel @ 31 Oct 2009 07:35 PM
my program is working fine for given test case but getting wrong answer. can i have any other test cases?

"Maximum length of this

vector9x @ 30 Nov 2009 09:58 PM

"Maximum length of this string will be N2."

This is N^2 or N*2 ?

I'd also like to know the

Philanthropist @ 6 Oct 2010 10:38 PM

I'd also like to know the answer to Victor's question. There's an operator missing there.

did any body got the answer

arun chauhan @ 27 Oct 2010 05:42 PM

did any body got the answer to N2 question?

Please Admin, can sombody

arun chauhan @ 27 Oct 2010 07:58 PM

Please Admin, can sombody confirm that the input matrix will always contain just X,A,B and if so what should be the answer for ABBA?

N2 should be N^2. The problem

triplem @ 28 Oct 2010 03:40 AM

N2 should be N^2.

The problem does not say the matrix will only contain those 3 characters, so you should not assume so.

The answer for ABBA for the sample grid would be 0.

when i submit the answer it

arun chauhan @ 1 Nov 2010 12:23 PM

when i submit the answer it shows me a result set that is probably the set of inputs that were tested and i get

1 -1336677216 wrong answer
(0.00s)

can somebody please explain me this... what does the no. -1336677216 stand for in this case?

 

admin please can you explain

arun chauhan @ 1 Nov 2010 09:19 PM

admin please can you explain me the above question. it can help me a lot in getting the write solution becuase i am getting the correct answer for the given test case....

posting the query for the

arun chauhan @ 7 Jan 2011 11:46 AM

posting the query for the third time please.... anybody help

@admin: While counting such

rajneesh2k10 @ 18 Feb 2011 01:49 PM

@admin:

While counting such possible strings, its possible to get a value which exceeds the range of long long. Solution should have been invited in some modulo form.

I can't figure out where this solution is failing.

http://www.codechef.com/viewsolution/460318

Please hint!

@admin What is the number

prosody @ 5 Dec 2011 06:56 PM
@admin What is the number -173971721649 (something like this) corresponding to a wrong answer mean?

After several tries I figured

prosody @ 6 Dec 2011 10:44 PM
After several tries I figured out that the problem was with input output :) too bad I spent quite some time looking for logical error. I am sure many people might have suggested before that it would be nice if alongside "wrong answer" there is some reference to some such mistakes.

SUCCESSFUL SUBMISSIONS FOR THIS PROBLEM:

Programming Competition Fetching successful submissions
Directi Go for Gold

HELP

Program should read from standard input and write to standard output. After you submit a solution you can see your results by clicking on the [My Submissions] tab on the problem page. Below are the possible results:

 

  • Accepted Your program ran successfully and gave a correct answer. If there is a score for the problem, this will be displayed in parenthesis next to the checkmark.
  • Time Limit Exceeded Your program was compiled successfully, but it didn't stop before time limit. Try optimizing your approach.
  • Wrong Answer Your program compiled and ran succesfully but the output did not match the expected output.
  • Runtime Error Your code compiled and ran but encountered an error. The most common reasons are using too much memory or dividing by zero. For the specific error codes see the help section.
  • Compilation Error Your code was unable to compile. When you see this icon, click on it for more information.
  • If you are still having problems, see a sample solution here.

CodeChef is a global programming communityCodeChef hosts online programming competitions
CodeChef is a non-commercial competitive programming community
  • About CodeChef
  • About Directi
  • CEO's Corner
  • C-Programming
  • Programming Languages
  • Contact Us
© 2009 Directi Group. All Rights Reserved. CodeChef uses SPOJ © by Sphere Research Labs
In order to report copyright violations of any kind, send in an email to copyright@codechef.com
CodeChef a product of Directi
The time now is:
CodeChef - A Platform for Aspiring Programmers

CodeChef was created as a platform to help programmers make it big in the world of algorithms, computer programming and programming contests. At CodeChef we work hard to revive the geek in you by hosting a programming contest at the start of the month and another smaller programming challenge in the middle of the month. We also aim to have training sessions and discussions related to algorithms, binary search, technicalities like array size and the likes. Apart from providing a platform for programming competitions, CodeChef also has various algorithm tutorials and forum discussions to help those who are new to the world of computer programming.

Practice Section - A Place to hone your 'Computer Programming Skills'

Try your hand at one of our many practice problems and submit your solution in a language of your choice. Our programming contest judge accepts solutions in over 35+ programming languages. Preparing for coding contests were never this much fun! Receive points, and move up through the CodeChef ranks. Use our practice section to better prepare yourself for the multiple programming challenges that take place through-out the month on CodeChef.

Compete - Monthly Programming Contests and Cook-offs

Here is where you can show off your computer programming skills. Take part in our 10 day long monthly coding contest and the shorter format Cook-off coding contest. Put yourself up for recognition and win great prizes. Our programming contests have prizes worth up to Rs.20,000 and $700lots more CodeChef goodies up for grabs.

Discuss

Are you new to computer programming? Do you need help with algorithms? Then be a part of CodeChef's Forums and interact with all our programmers - they love helping out other programmers and sharing their ideas. Have discussions around binary search, array size, branch-and-bound, Dijkstra's algorithm, Encryption algorithm and more by visiting the CodeChef Forums and Wiki section.

CodeChef Community

As part of our Educational initiative, we give institutes the opportunity to associate with CodeChef in the form of Campus Chapters. Hosting online programming competitions is not the only feature on CodeChef. You can also host a coding contest for your institute on CodeChef, organize an algorithm event and be a guest author on our blog.

Go For Gold

The Go for Gold Initiative was launched about a year after CodeChef was incepted, to help prepare Indian students for the ACM ICPC World Finals competition. In the run up to the ACM ICPC competition, the Go for Gold initiative uses CodeChef as a platform to train students for the ACM ICPC competition via multiple warm up contests. As an added incentive the Go for Gold initiative is also offering over Rs.8 lacs to the Indian team that beats the 29th position at the ACM ICPC world finals. Find out more about the Go for Gold and the ACM ICPC competition here.

Domain Name Registration, Web hosting, and Website Design provided by BigRock.com