二分+交互 四个字够了吧
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<iostream>
#include<string>
using namespace std;
inline bool query(int x,int y){
printf("1 %d %d\n",x,y); fflush(stdout);
string s;
cin>>s; return s=="TAK";
}
inline int find(int l,int r){
int mid=(l+r)>>1;
while (l<r){
mid=(l+r)>>1;
if (query(mid,mid+1))
r=mid;
else
l=mid+1;
}
return l;
}
int main(){
int n,K;
freopen("t.in","r",stdin);
freopen("t.out","w",stdout);
scanf("%d%d",&n,&K);
int p1=find(1,n),p2;
if (p1==1)
p2=find(2,n);
else if (p1==n)
p2=find(1,n-1);
else{
p2=find(1,p1-1);
if (!query(p2,p1)) p2=find(p1+1,n);
}
printf("2 %d %d\n",p1,p2); fflush(stdout);
return 0;
}