In the Martian land faraway, a new virus has evolved and is attacking the individuals at a fast pace. The scientists have figured out the virus composition, V. The big task is to identify the people who are infected.The sample of N people is taken to check if they are POSITIVE or NEGATIVE. A report is generated which provides the current blood composition B of the person.
POSITIVE or NEGATIVE ?
If the blood composition of the person is a subsequence of the virus composition V, then the person is identified as POSITIVE otherwise NEGATIVE.
Example:
Virus Composition, V = coronavirus
Blood Composition of the person , B = ravus
The person in question is POSITIVE as B is the subsequence of the V
Virus Composition, V = coronavirus
Blood Composition of the person , B = ravus
The person in question is POSITIVE as B is the subsequence of the V
The scientists are busy with their research for medicine and request you to build a program which can quickly figure out if the person is POSITIVE or NEGATIVE. They will provide you with the virus composition V and all the people's current blood composition. Can you help them?
Note: The virus and blood compositions are lowercase alphabet strings.
Input Format
The first line of the input consists of the virus composition, V
The second line of he input consists of the number of people, N
Next N lines each consist of the blood composition of the ith person, Bi
The first line of the input consists of the virus composition, V
The second line of he input consists of the number of people, N
Next N lines each consist of the blood composition of the ith person, Bi
Constraints
1<= N <=10
1<= |B|<= |V|<= 10^5
1<= N <=10
1<= |B|<= |V|<= 10^5
Output Format
For each person, print POSITIVE or NEGATIVE in a separate line.
For each person, print POSITIVE or NEGATIVE in a separate line.
Input
coronavirus
3
abcde
crnas
onarous
coronavirus
3
abcde
crnas
onarous
Output
NEGATIVE
POSITIVE
NEGATIVE
NEGATIVE
POSITIVE
NEGATIVE
Solution:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class VirusOutBreak
{
public static void Main()
{
string V = Console.ReadLine();
int N = Convert.ToInt32(Console.ReadLine());
string[] Msg = new string[N];
for (int k = 0; k < N; k++)
{
string B = Console.ReadLine();
bool result = TestReport(B, V, B.Length, V.Length);
if (result)
Msg[k] = "POSITIVE";
else
Msg[k] = "NEGATIVE";
}
for (int p = 0; p < N; p++)
{
Console.WriteLine(Msg[p]);
}
Console.Read();
}
static bool TestReport(string Blood, string Virus, int m, int n)
{
int j = 0;
for (int i = 0; i < n && j < m; i++)
if (Blood[j] == Virus[i])
j++;
return (j == m);
}
}
}
No comments:
Post a Comment