Re: [algogeeks] Directory Structure

2011-02-22 Thread Nikhil Agarwal
1.Create a Tree structure.Each node representing a directory under its
respective parent for first N lines.
2.For M lines ,match the maximum possible path with the  mth(m E M)
directory path.Keep adding the nodes and increase the count.


On Thu, Feb 17, 2011 at 6:23 PM, Akshata Sharma
akshatasharm...@gmail.comwrote:

  On Unix computers, data is stored in directories. There is one root
 directory, and this might have several  directories
 contained inside of it, each with di fferent names. These directories might
 have even more directories contained inside of them,
 and so on.
 A directory is uniquely identified by its name and its parent directory
 (the directory it is directly contained in). This is usually
 encoded in a path, which consists of several  parts each preceded by a
 forward slash ('/'). The final  part is the name of  the
 directory, and everything else gives the path of its parent directory. For
 example, consider the path:   /home/facebook/people
 This refers to the directory with name people in the directory described
 by /home/facebook, which in turn refers to the
 directory with name facebook in the directory described by the path
 /home. In this path, there is only one part, which means it
 refers to the directory with the name home in the root directory.
 To create a directory, you can use the mkdir command. You specify a path,
 and then mkdir wi ll  create the directory described by
 that path, but only if the parent directory al ready exists. For example, i
 f you wanted to create the /home/facebook/people and
 /home/facebook/tech directories from scratch, you would need four
 commands:
   mkdir /home
   mkdir /home/facebook
   mkdir /home/facebook/people
   mkdir /home/facebook/tech
 Given the full  set of directories already existing on your computer, and a
 set of new directories you want to create if they do not
 already exist, how many mkdir commands do you need to use?

 Input The first line of the input gives the number of test cases, T. T test
 cases follow. Each case begins with a line containing two
 integers N and M, separated by a space.

 The next N lines each give the path of one directory that already exists on
 your computer. This list will  include every directory
 already on your computer other than the root directory. (The root directory
 is on every computer, so there is no need to l ist it
 explicitly.)

 The next M lines each give the path of one directory that you want to
 create.
 Each of the paths in the input is formatted as in the problem statement
 above. Speci fically, a path consists of one or more lower -
 case alpha-numeric strings (i .e., strings containing only the symbols
 'a'-'z' and '0'-'9'), each preceded by a single forward slash.
 These alpha-numeric strings are never empty.

 Output For each test case, output one l ine containing Case #x: y, where
 x is the case number (starting from 1) and y is the
 number of mkdir you need.

 Note: If a directory is listed as being on your computer, then its parent
 directory will  also be listed, unless the parent  is the root
 directory.

 INPUT

 2

 1 2
 /chicken
 /chicken/egg
 /chicken

 1 3
 /a
 /a/b
 /a/c
 /b/b

 OUTPUT

 Case #1: 1
 Case #2: 4

  --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.




-- 
Thanks  Regards
Nikhil Agarwal
Senior Undergraduate
Computer Science  Engineering,
National Institute Of Technology, Durgapur,India
http://tech-nikk.blogspot.com
http://beta.freshersworld.com/communities/nitd

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] Directory Structure

2011-02-22 Thread Algoose chase
I think we can build a n-ary tree from the n directory paths that are
already available in the computer and then for each of the m directory paths
we can traverse the tree up until the directory which is already available
in the tree and then count the remaining directories in the path.

1 Question :
Can a test case be like this ?
1 2
/chicken
/chicken/egg
/chicken/egg/chicken
if yes then while processing second of the 2 directories that should be
created, should we consider egg folder is already created while processing
the previous one ?

On Thu, Feb 17, 2011 at 6:23 PM, Akshata Sharma
akshatasharm...@gmail.comwrote:

  On Unix computers, data is stored in directories. There is one root
 directory, and this might have several  directories
 contained inside of it, each with di fferent names. These directories might
 have even more directories contained inside of them,
 and so on.
 A directory is uniquely identified by its name and its parent directory
 (the directory it is directly contained in). This is usually
 encoded in a path, which consists of several  parts each preceded by a
 forward slash ('/'). The final  part is the name of  the
 directory, and everything else gives the path of its parent directory. For
 example, consider the path:   /home/facebook/people
 This refers to the directory with name people in the directory described
 by /home/facebook, which in turn refers to the
 directory with name facebook in the directory described by the path
 /home. In this path, there is only one part, which means it
 refers to the directory with the name home in the root directory.
 To create a directory, you can use the mkdir command. You specify a path,
 and then mkdir wi ll  create the directory described by
 that path, but only if the parent directory al ready exists. For example, i
 f you wanted to create the /home/facebook/people and
 /home/facebook/tech directories from scratch, you would need four
 commands:
   mkdir /home
   mkdir /home/facebook
   mkdir /home/facebook/people
   mkdir /home/facebook/tech
 Given the full  set of directories already existing on your computer, and a
 set of new directories you want to create if they do not
 already exist, how many mkdir commands do you need to use?

 Input The first line of the input gives the number of test cases, T. T test
 cases follow. Each case begins with a line containing two
 integers N and M, separated by a space.

 The next N lines each give the path of one directory that already exists on
 your computer. This list will  include every directory
 already on your computer other than the root directory. (The root directory
 is on every computer, so there is no need to l ist it
 explicitly.)

 The next M lines each give the path of one directory that you want to
 create.
 Each of the paths in the input is formatted as in the problem statement
 above. Speci fically, a path consists of one or more lower -
 case alpha-numeric strings (i .e., strings containing only the symbols
 'a'-'z' and '0'-'9'), each preceded by a single forward slash.
 These alpha-numeric strings are never empty.

 Output For each test case, output one l ine containing Case #x: y, where
 x is the case number (starting from 1) and y is the
 number of mkdir you need.

 Note: If a directory is listed as being on your computer, then its parent
 directory will  also be listed, unless the parent  is the root
 directory.

 INPUT

 2

 1 2
 /chicken
 /chicken/egg
 /chicken

 1 3
 /a
 /a/b
 /a/c
 /b/b

 OUTPUT

 Case #1: 1
 Case #2: 4

  --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



[algogeeks] Directory Structure

2011-02-17 Thread Akshata Sharma
 On Unix computers, data is stored in directories. There is one root
directory, and this might have several  directories
contained inside of it, each with di fferent names. These directories might
have even more directories contained inside of them,
and so on.
A directory is uniquely identified by its name and its parent directory (the
directory it is directly contained in). This is usually
encoded in a path, which consists of several  parts each preceded by a
forward slash ('/'). The final  part is the name of  the
directory, and everything else gives the path of its parent directory. For
example, consider the path:   /home/facebook/people
This refers to the directory with name people in the directory described
by /home/facebook, which in turn refers to the
directory with name facebook in the directory described by the path
/home. In this path, there is only one part, which means it
refers to the directory with the name home in the root directory.
To create a directory, you can use the mkdir command. You specify a path,
and then mkdir wi ll  create the directory described by
that path, but only if the parent directory al ready exists. For example, i
f you wanted to create the /home/facebook/people and
/home/facebook/tech directories from scratch, you would need four
commands:
  mkdir /home
  mkdir /home/facebook
  mkdir /home/facebook/people
  mkdir /home/facebook/tech
Given the full  set of directories already existing on your computer, and a
set of new directories you want to create if they do not
already exist, how many mkdir commands do you need to use?

Input The first line of the input gives the number of test cases, T. T test
cases follow. Each case begins with a line containing two
integers N and M, separated by a space.

The next N lines each give the path of one directory that already exists on
your computer. This list will  include every directory
already on your computer other than the root directory. (The root directory
is on every computer, so there is no need to l ist it
explicitly.)

The next M lines each give the path of one directory that you want to
create.
Each of the paths in the input is formatted as in the problem statement
above. Speci fically, a path consists of one or more lower -
case alpha-numeric strings (i .e., strings containing only the symbols
'a'-'z' and '0'-'9'), each preceded by a single forward slash.
These alpha-numeric strings are never empty.

Output For each test case, output one l ine containing Case #x: y, where x
is the case number (starting from 1) and y is the
number of mkdir you need.

Note: If a directory is listed as being on your computer, then its parent
directory will  also be listed, unless the parent  is the root
directory.

INPUT

2

1 2
/chicken
/chicken/egg
/chicken

1 3
/a
/a/b
/a/c
/b/b

OUTPUT

Case #1: 1
Case #2: 4

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.