TCS Company Programming

Cliff and Radar

Two cliffs of lengths X and Y join at one end and enclose a body of water. The angle between the cliffs, phi, is known. A radar is installed at the point where the cliffs are joined. It has a range of m where m < X and m < Y. Calculate the area of the water enclosed between the cliffs which cannot be scanned by the radar and the distance between the end points of two cliffs.


Fig:Cliff and Radar

Input Format:

First line contains length of cliff AB, denoted by X in meters
Second line contains length of cliff AC, denoted by Y in meters
Third line contains range of radar, denoted by m in meters
Fourth line contains angle BAC in degrees, denoted by Φ (phi)

Output Format:

On first line, print the area enclosed between the cliffs that cannot be scanned by the radar in square meters
On second line, print the distance between end points of two cliffs in meters

Constraints:

X > 0

Y > 0

0 < m < X and 0 < m < Y

Φ (phi) > 0

Calculations should be done upto 11-digit precision, but output values should be printed upto 5 decimal places

Read Solution (Total 2)

TCS Other Question

Data Analysis of Process

Mr. Chintamani is Run Manager of one of the Finance Project. Due to some technical issue, he has observed that one core finance process is failing from past few months which causes a lot of rework and adjustments in ledgers. Chintamani has decided to do data analysis which will help him to find tenure and frequency of the error. He has asked Run team to closely monitor the system during the tenure.

Chintamani has monthly log of the finance process and he wants an automated technical process which can give day-wise number of failures that occurred during the month. Thus by doing data analysis he can take an action at the earliest. Your task is to write a program to read monthly log of the finance process and display day-wise total count with a keyword given as an input.

Input Format:

First line contains Keyword - Keyword to search in log file for analysis
Second line contains File Name - Name of monthly process log, where file contains date-wise log

Output Format:

Print the date-wise count of keyword, where first field is date and second field is total count of the keyword, delimited by whitespace

Constraints:

Log File should contain text data only and log file should contain date-wise logs of the process. Each log is on a separate line.

Keyword can be in alphanumeric format and input should allow space character also.

All counts should be in a separate line according to the date.

Example content of the file is shown below

2015-04-01 08:21:25 StandardWrapper[/admin:invoker]: error in Loading container servlet invoker
2015-04-02 01:46:09 WebappLoader[/admin]: in deploy JAR /WEB-INF/lib/struts.jar to F:ApacheTomcat 4.1webapps..serverwebappsadminWEB-INFlibstruts.jar1
2015-04-03 01:46:09 WebappLoader[/admin]: error in deploy JAR /WEB-INF/lib/struts.jar to F:ApacheTomcat 4.1webapps..serverwebappsadminWEB-INFlibstruts.jar2
2015-04-03 01:46:09 WebappLoader[/admin]: error in deploy JAR /WEB-INF/lib/struts.jar to F:ApacheTomcat 4.1webapps..serverwebappsadminWEB-INFlibstruts.jar2

Matrix Power

Alice is learning basic discrete mathematics. In between of her leanings one day her tutor has given the following problem.

"A^M = A*A*A ... M times."

Let K be the matrix with N*N size and Aij represent the element at ith row and jth column. Matrix exponent product is defined as . As the result can be long mod the result with 1000000007.

As the Alice is newbie to maths, help her to solve the problem.

Input Format:

First line starts with N, and then N lines follow each will contain N spaced integers Aij.
After N lines next line contains M.

Output Format:

Print the matrix exponent product.

Constraints:

1<=N<=4000

1<=Aij<=10^7

1<=M<=10^9