Problem Description

The grandest stage of all, Wrestlemania XXX recently happened. And with it, happened one of the biggest heartbreaks for the WWE fans around the world. The Undertaker’s undefeated streak was finally over. Now as an Undertaker fan, you’re disappointed, disheartened and shattered to pieces. And Little Jhool doesn’t want to upset you in any way possible. (After all you are his only friend, true friend!) Little Jhool knows that you’re still sensitive to the loss, so he decides to help you out. Every time you come across a number, Little Jhool carefully manipulates it. He doesn’t want you to face numbers which have “21” as a part of them. Or, in the worst case possible, are divisible by 21. If you end up facing such a number you feel sad… and no one wants that – because you start chanting “The streak is broken!” , if the number doesn’t make you feel sad, you say, “The streak lives still in our heart!” Help Little Jhool so that he can help you! Input Format: The first line contains a number, t, denoting the number of test cases. After that, for t lines there is one number in every line. Output Format: Print the required string, depending on how the number will make you feel.
  • Test Case 1
    Input (stdin)
    3
    120
    121
    231
    Expected Output
    The streak lives still in our heart!
    The streak is broken!
    The streak is broken!
  • Test Case 2
    Input (stdin)
    4
    69521
    7484
    78175
    86424
    Expected Output
    The streak is broken!
    The streak lives still in our heart!
    The streak lives still in our heart!
    The streak lives still in our heart!
#include <stdio.h>

int main()
{
int num,y=0,m,n,l;
scanf("%d", &num);
while(y<num)
{
m=1;
scanf("%d",&n);
if(n%21==0)
printf("The streak is broken!\n");
else
{
while(n!=0)
{
l=n%10;
n=n/10;
if(l==m)
{
m++;
if(m==3)
break;
}
else if(l==1)
continue;
else
m=1;
}
if(m==3)
printf("The streak is broken!\n");
else
printf("The streak lives still in our heart!\n");
}
y++;
}
return 0;
}

Here's a brief explanation of how the code works:

  1. Input Handling:
    The program starts by taking the number of test cases (num). For each test case, it reads a number (n) and checks if it meets certain conditions that determine the output.

  2. Check for Divisibility by 21:
    The program first checks if the number n is divisible by 21. If it is, it immediately prints "The streak is broken!" because encountering such a number makes you feel sad.

  3. Check for the Presence of '21':
    If the number is not divisible by 21, the program then checks if the digits '2' and '1' appear consecutively in the number. It does this by:

    • Extracting each digit from the number using modulo and division operations.
    • Tracking whether the digit '2' is followed by '1' by incrementing a counter m.
    • If the sequence "21" is found, it breaks out of the loop and prints "The streak is broken!"
  4. Output for Other Cases:
    If the number is neither divisible by 21 nor contains the sequence "21", the program prints "The streak lives still in our heart!" indicating that the number does not make you sad.

  5. Loop Through All Test Cases:
    The program processes each test case in the loop until all the numbers have been checked.

Note: The logic ensures that if either condition (divisibility by 21 or presence of "21" in the digits) is met, the program will output the appropriate message indicating sadness. If neither condition is met, it reassures that the streak still lives in the hearts of fans.