PROBLEM LINK:
Practice
Contest
Author: Arkapravo Ghosh
Tester: Aparup Ghosh
Editorialist: Aparup Ghosh
DIFFICULTY:
CAKEWALK
PREREQUISITES:
Basic programming, conditionals
PROBLEM:
Given two integers S and H you need to output “Shinchan” if S > H or “Himawari” otherwise.
QUICK EXPLANATION:
According to the given conditions, Shinchan can only win when S is greater than H. In any other case, Himawari is the winner.
EXPLANATION:
We can simply check if S is greater than H or not. If S > H, then we output “Shinchan”(without quotes) else (i.e. when S <= H), we output “Himawari”(without quotes).
The time complexity is O(T).
AUTHOR’S AND EDITORIALIST’S SOLUTIONS:
Author’s solution can be found here.
Editorialist’s solution can be found here.
2 Likes
#include<stdio.h>
void main()
{
int s,h;
printf("\n Enter the two no= “);
scanf(”%d%d",&s,&h);
printf("\n S=%d",s,"\n H=%d",h);
if(s>h)
{
printf("\n Sinchan");
}
else
{
printf("\n Himawari");
}
}
for _ in range(int(input())):
S, H = [int(x) for x in input().split()]
print(["Himawari","Shinchan"][S>H])
Why does it show TLE for Java Solution?
Is this problem not compatible with Java due to the time constraints set in the question?
I have tried both ways and there’s nothing time-consuming code.
Method 1: Using Scanner
import java.util.;
import java.lang.;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while(t-- > 0){
int a = sc.nextInt();
int b = sc.nextInt();
if(a > b)
System.out.println("Shinchan");
else
System.out.println("Himawari");
}
}
}
Method 2: Using Buffered Reader
import java.util.;
import java.lang.;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Codechef
{
public static void main (String[] args) throws IOException {
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
String s = sc.readLine();
int t = Integer.parseInt(s);
while(t-- > 0){
String[] temp = sc.readLine().split(" ");
int a = Integer.parseInt(temp[0]);
int b = Integer.parseInt(temp[1]);
if(a > b)
System.out.println("Shinchan");
else
System.out.println("Himawari");
}
}
}