HackerEarth Counting Frog Paths problem solution YASH PAL, 31 July 2024 In this HackerEarth Counting Frog Paths problem solution There is a frog initially placed at the origin of the coordinate plane. In exactly 1 second, the frog can either move up 1 unit, move right 1 unit, or stay still. In other words, from position (x,y), the frog can spend 1 second to move to: (x+1, y) (x, y+1) (x, y) After T seconds, a villager who sees the frog reports that the frog lies on or inside a square of side-length s with coordinates (X, Y), (X+s, Y), (X, Y+s), (X+s, Y+s. Calculate how many points with integer coordinates on or inside this square could be the frog’s position after exactly T seconds. HackerEarth Counting Frog Paths problem solution. #include <bits/stdc++.h>using namespace std;string twodig(int i){ string res = ""; while(i>0){ res = char('0' + i%10) + res; i/=10; } while(res.length() < 2) res = "0"+res; return res;}int solve(int X, int Y, int s, int T){ int counter = 0; for(int positionX = X; positionX <= X+s; positionX++){ for(int positionY = Y; positionY <= Y+s; positionY++){ if(positionY + positionX <= T){ counter++; } } } return counter;}void gen(){ int iters = 50; for(int i = 6; i <= iters; i++){ ofstream fout("in"+twodig(i)+".txt"); int x = rand()%101, y = rand()%101, s = (1 + rand()%100), t = rand()%401; fout << x << " " << y << " "<< s << " " << t << endl; fout.close(); }}void solveall(){ int iters = 50; for(int i = 1; i <= iters; i++){ ifstream fin("in"+twodig(i)+".txt"); int x,y,s,t; fin >> x >> y >> s >> t; int ans = solve(x,y,s,t); ofstream fout("out"+twodig(i)+".txt"); fout << ans << endl; fout.close(); fin.close(); }}void validateall(){ int iters = 50; for(int i = 1; i <= iters; i++){ ifstream fin("in"+twodig(i)+".txt"); int x,y,s,t; fin >> x >> y >> s >> t; assert(0<=x); assert(x<=100); assert(0<=y); assert(y<=100); assert(1<=s); assert(s<=100); assert(0<=t); assert(t<=400); }}int main(){ int x,y,s,t; cin >> x >> y >> s >> t; cout << solve(x,y,s,t) << endl;} Second solution #include<bits/stdc++.h>using namespace std;typedef complex<double> base;typedef long double ld;typedef long long ll;#define pb push_back#define pii pair<int,int>#define pll pair< ll , ll >#define vi vector<int>const int maxn=(int)(1e5+5);const ll mod=(ll)(998244353);int a[maxn];int main(){ ios_base::sync_with_stdio(0); int x,y,s,t,res=0; cin>>x>>y>>s>>t; assert(min(x,y)>=0 && max(x,y)<=100); assert(s>=1 && s<=100); assert(t>=0 && t<=400); for(int i=x;i<=x+s;i++) { for(int j=y;j<=y+s;j++) { int dis=i+j; if(dis<=t) { res++; } } } cout<<res<<endl;} coding problems