Language: C++

#include<cstdio>
#include<algorithm>
#define rep(i,s,t) for(register int i=s;i<=t;++i)
using namespace std;
const int mod=924844033;
const int N=5011
int n,k,tot,ans;
int f[N][N][2],fac[N];
bool vis[N][2];
int ed[N];
int main(){
	scanf("%d%d",&n,&k);
	f[1][0][0]=1;
	rep(i,1,n)
		rep(j,0,1)
			if(!vis[i][j]){
				for(register int x=i,y=j;x<=n;x+=k,y^=1)
					vis[x][y]=1,++tot;
				ed[tot]=1;
			}
	rep(i,1,tot)
		rep(j,0,n){
			f[i+1][j][0]=(f[i][j][0]+f[i][j][1])%mod;
			if(!ed[i])f[i+1][j+1][1]=f[i][j][0];
		}
	fac[0]=1;
	rep(i,1,n)
		fac[i]=1ll*i*fac[i-1]%mod;
	rep(i,0,n){
		int s=i&1;
		if(s)s=-1;
		else s=1;
		ans=(ans+1ll*s*(f[tot][i][0]+f[tot][i][1])*fac[n-i]%mod)%mod;
		ans=(ans+mod)%mod;
	}
	printf("%d\n",ans);
	return 0;
}

Compiler output:
a.cc:7:1: error: expected ',' or ';' before 'int'
    7 | int n,k,tot,ans;
      | ^~~
a.cc: In function 'int main()':
a.cc:12:23: error: 'n' was not declared in this scope
   12 |         scanf("%d%d",&n,&k);
      |                       ^
a.cc:12:26: error: 'k' was not declared in this scope
   12 |         scanf("%d%d",&n,&k);
      |                          ^
a.cc:14:13: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   14 |         rep(i,1,n)
      |             ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:15:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   15 |                 rep(j,0,1)
      |                     ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:17:50: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   17 |                                 for(register int x=i,y=j;x<=n;x+=k,y^=1)
      |                                                  ^
a.cc:17:54: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   17 |                                 for(register int x=i,y=j;x<=n;x+=k,y^=1)
      |                                                      ^
a.cc:18:55: error: 'tot' was not declared in this scope
   18 |                                         vis[x][y]=1,++tot;
      |                                                       ^~~
a.cc:19:36: error: 'tot' was not declared in this scope
   19 |                                 ed[tot]=1;
      |                                    ^~~
a.cc:21:13: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   21 |         rep(i,1,tot)
      |             ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:21:17: error: 'tot' was not declared in this scope
   21 |         rep(i,1,tot)
      |                 ^~~
a.cc:3:44: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                            ^
a.cc:22:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   22 |                 rep(j,0,n){
      |                     ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:27:13: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   27 |         rep(i,1,n)
      |             ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:29:13: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   29 |         rep(i,0,n){
      |             ^
a.cc:3:37: note: in definition of macro 'rep'
    3 | #define rep(i,s,t) for(register int i=s;i<=t;++i)
      |                                     ^
a.cc:33:17: error: 'ans' was not declared in this scope; did you mean 'abs'?
   33 |                 ans=(ans+1ll*s*(f[tot][i][0]+f[tot][i][1])*fac[n-i]%mod)%mod;
      |                 ^~~
      |                 abs
a.cc:33:35: error: 'tot' was not declared in this scope
   33 |                 ans=(ans+1ll*s*(f[tot][i][0]+f[tot][i][1])*fac[n-i]%mod)%mod;
      |                                   ^~~
a.cc:36:23: error: 'ans' was not declared in this scope; did you mean 'abs'?
   36 |         printf("%d\n",ans);
      |                       ^~~
      |                       abs