HackerEarth New Language problem solution YASH PAL, 31 July 2024 In this HackerEarth New Language problem solution A new mathematical language (let’s call it Ninja) is discovered, in which 8 is completely missing. So, new counting becomes (1,2,3,4,5,6,7,9,10,…). Whole counting is written without 8. For example, 29 comes after 27,90 comes after 79, etc. Thus 27 + 1 = 29, 79 + 1 = 90, . Now, your task is to perform addition, subtraction, multiplication, and division operations on two numbers in this new language Ninja. Topics we are covering Toggle HackerEarth New Language problem solution.Second solution HackerEarth New Language problem solution. #include<bits/stdc++.h>typedef unsigned int uint;typedef long long ll;typedef unsigned long long ull;typedef double lf;typedef long double llf;typedef std::pair<int,int> pii;#define xx first#define yy secondtemplate<typename T> inline T max(T a,T b){return a>b?a:b;}template<typename T> inline T min(T a,T b){return a<b?a:b;}template<typename T> inline T abs(T a){return a>0?a:-a;}template<typename T> inline bool repr(T &a,T b){return a<b?a=b,1:0;}template<typename T> inline bool repl(T &a,T b){return a>b?a=b,1:0;}template<typename T> inline T gcd(T a,T b){T t;if(a<b){while(a){t=a;a=b%a;b=t;}return b;}else{while(b){t=b;b=a%b;a=t;}return a;}}template<typename T> inline T sqr(T x){return x*x;}#define mp(a,b) std::make_pair(a,b)#define pb push_back#define I inline#define mset(a,b) memset(a,b,sizeof(a))#define mcpy(a,b) memcpy(a,b,sizeof(a))#define fo0(i,n) for(int i=0,i##end=n;i<i##end;i++)#define fo1(i,n) for(int i=1,i##end=n;i<=i##end;i++)#define fo(i,a,b) for(int i=a,i##end=b;i<=i##end;i++)#define fd0(i,n) for(int i=(n)-1;~i;i--)#define fd1(i,n) for(int i=n;i;i--)#define fd(i,a,b) for(int i=a,i##end=b;i>=i##end;i--)#define foe(i,x)for(__typeof((x).end())i=(x).begin();i!=(x).end();++i)#define fre(i,x)for(__typeof((x).rend())i=(x).rbegin();i!=(x).rend();++i)struct Cg{I char operator()(){return getchar();}};struct Cp{I void operator()(char x){putchar(x);}};#define OP operator#define RT return *this;#define UC unsigned char#define RX x=0;UC t=P();while((t<'0'||t>'9')&&t!='-')t=P();bool f=0;if(t=='-')t=P(),f=1;x=t-'0';for(t=P();t>='0'&&t<='9';t=P())x=x*10+t-'0'#define RL if(t=='.'){lf u=0.1;for(t=P();t>='0'&&t<='9';t=P(),u*=0.1)x+=u*(t-'0');}if(f)x=-x#define RU x=0;UC t=P();while(t<'0'||t>'9')t=P();x=t-'0';for(t=P();t>='0'&&t<='9';t=P())x=x*10+t-'0'#define TR *this,x;return x;I bool IS(char x){return x==10||x==13||x==' ';}template<typename T>struct Fr{T P;I Fr&OP,(int&x){RX;if(f)x=-x;RT}I OP int(){int x;TR}I Fr&OP,(ll &x){RX;if(f)x=-x;RT}I OP ll(){ll x;TR}I Fr&OP,(char&x){for(x=P();IS(x);x=P());RT}I OP char(){char x;TR}I Fr&OP,(char*x){char t=P();for(;IS(t);t=P());if(~t){for(;!IS(t)&&~t;t=P())*x++=t;}*x++=0;RT}I Fr&OP,(lf&x){RX;RL;RT}I OP lf(){lf x;TR}I Fr&OP,(llf&x){RX;RL;RT}I OP llf(){llf x;TR}I Fr&OP,(uint&x){RU;RT}I OP uint(){uint x;TR}I Fr&OP,(ull&x){RU;RT}I OP ull(){ull x;TR}};Fr<Cg>in;#define WI(S) if(x){if(x<0)P('-'),x=-x;UC s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')#define WL if(y){lf t=0.5;for(int i=y;i--;)t*=0.1;if(x>=0)x+=t;else x-=t,P('-');*this,(ll)(abs(x));P('.');if(x<0)x=-x;while(y--){x*=10;x-=floor(x*0.1)*10;P(((int)x)%10+'0');}}else if(x>=0)*this,(ll)(x+0.5);else *this,(ll)(x-0.5);#define WU(S) if(x){UC s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}I Fw&OP()(uint x){WU(10);RT}I Fw&OP,(ll x){WI(19);RT}I Fw&OP()(ll x){WI(19);RT}I Fw&OP,(ull x){WU(20);RT}I Fw&OP()(ull x){WU(20);RT}I Fw&OP,(char x){P(x);RT}I Fw&OP()(char x){P(x);RT}I Fw&OP,(const char*x){while(*x)P(*x++);RT}I Fw&OP()(const char*x){while(*x)P(*x++);RT}I Fw&OP()(lf x,int y){WL;RT}I Fw&OP()(llf x,int y){WL;RT}};Fw<Cp>out;const int N=1005;int S,X,n;pii s[N];int main(){ in,S,X,n; fo1(i,n)in,s[i].xx,s[i].yy; std::sort(s+1,s+n+1); int lst=0; fo1(i,n) { if(ll(s[i].xx-1-lst)*X>=S) { out,lst+(S+X-1)/X,'n'; return 0; } S-=ll(s[i].xx-1-lst)*X; if(S<=s[i].yy) { out,s[i].xx,'n'; return 0; } S-=s[i].yy; lst=s[i].xx; } out,lst+(S+X-1)/X,'n';}#include<bits/stdc++.h>using namespace std;#define N 100005#define ll long long#define pb push_back#define mp make_pair#define fi first#define se second//Mistakes:#define pritnf printftemplate <typename T>string NumberToString ( T Number ){ stringstream ss; ss << Number; return ss.str();}ll StringToNumber (string str){ stringstream sstr(str); ll val; sstr >> val; return val;}ll base9(ll n){ ll ret=0; ll p=1; while(n!=0) { ret=(n%9)*p+ret; n/=9; p*=10; } return ret;}ll revBase9(ll n){ ll ret=0,p=0; while(n!=0) { ret+=(n%10)*pow(9,p); p++; n/=10; } return ret;}ll fromNinja(ll n){ string s=NumberToString(n); for(int i=0;i<s.length();i++) if(s[i]=='9') s[i]='8'; n=StringToNumber(s); return revBase9(n);}ll toNinja(ll n){ n=base9(n); string s=NumberToString(n); for(int i=0;i<s.length();i++) if(s[i]=='8') s[i]='9'; return StringToNumber(s);}int main(){ ll a[N],t,i=0,j,k,x,y,z,count=0,p,flag=0,ans=0,sum=0,l,n,m,max1,min1,pos,tmp,q; char c; scanf("%lld",&t); while(t--) { scanf("%lld%c%lld",&p,&c,&q); //printf("%lld %c %lldn",p,c,q); p=fromNinja(p); q=fromNinja(q); //printf("%lld %lldn",p,q); switch(c) { case '+': ans=p+q; break; case '-': ans=p-q; break; case '*': ans=p*q; break; case '/': ans=p/q; break; } printf("%lldn",toNinja(ans)); } return 0;} Second solution #include<bits/stdc++.h>#define ll long longusing namespace std;int main(){ int t; cin>>t; while(t--) { string s,a="",b="";char op; cin>>s; for(int i=0;i<s.size();i++) { if(s[i]=='+' || s[i]=='-' || s[i]=='*' || s[i]=='/') { op=s[i]; a=b; b=""; continue; } b+=(s[i]=='9')?'8':s[i]; } ll vala=0,valb=0,mul=1; for(int i=a.size()-1;i>=0;i--) { vala=(a[i]-48)*mul+vala; mul*=9; } mul=1; for(int i=b.size()-1;i>=0;i--) { valb=(b[i]-48)*mul+valb; mul*=9; } ll ans; if(op=='+')ans=vala+valb; else if(op=='-')ans=vala-valb; else if(op=='*')ans=vala*valb; else ans=vala/valb; a=""; while(ans) { char temp=(char)(ans%9+'0'); if(temp=='8')temp='9'; a=temp+a; ans/=9; } if(a=="")a+='0'; cout<<a<<"n"; } return 0;} coding problems solutions