Help me in solving ADVITIYA5 problem

My issue

why i am not getting the desired output with my code

My code

#include <bits/stdc++.h>
using namespace std;

int checker(vector<int> &v,int k)
{  
    int cnt=1;
   for (int i = 0; i < v.size(); i++)
   {
        if((v[i]+v[i+1])%2!=0)
        {
            cnt++;
        }
   }
   if(cnt==k) return 1;
   else return 0;

   
}

void swapv(vector<int> &v,int k)
{
    int sign;
    for (int i = 0; i <= v.size()-1; i++)
    {
        for ( int j = i+1; j <= v.size(); j++)
        {
            swap(v[i],v[j]);
            checker(v,k);
            if(checker) {
                sign =1;
            }
            if(sign=1) break;
        }
        if(sign=1) break;
    }
    
}

void finalprint(vector<int> &v)
{
    for (int i = 0; i < v.size(); i++)
    {
            cout<<v[i]<<" ";
    }    
    cout<<endl;
}

int main() {
	// your code goes here
	int t,n,k;
	cin>>t;
	for(int i=0;i<t;i++)
	{   
	    cin>>n>>k;
	    vector<int> v;
	    	for(int j=1;j<=n;j++)
	{ 
	    v.push_back(j);
	}   
    checker(v,k); 
    if(checker) finalprint(v);
    else swapv(v,k);
	    
	}
	

}

Problem Link: K Odd Sum Practice Coding Problem - CodeChef

@aayushman100
heyy , plzz refer my c++ code for better understanding of logic

#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    int n,k;
	    cin>>n>>k;
	    for(int i=1;i<k;i++)
	    {
	        cout<<i<<" ";
	    }
	    cout<<k<<" ";
	    for(int i=k+2;i<=n;i+=2)
	    {
	        cout<<i<<" ";
	    }
	    for(int i=k+1;i<=n;i+=2)
	    {
	        cout<<i<<" ";
	    }
	    cout<<endl;
	}
}