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