printer.cpp: In function 'void Add(int, int, int)':
printer.cpp:9:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i==s[idx].size()) return ;
~^~~~~~~~~~~~~~~
printer.cpp:11:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i+1==s[idx].size()) Leaf[T[Id][t]]=1;
~~~^~~~~~~~~~~~~~~
printer.cpp: In function 'void F(int, int)':
printer.cpp:18:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i==s[M].size()) return ;
~^~~~~~~~~~~~~
printer.cpp: In function 'void Dfs(int, int)':
printer.cpp:28:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
if (T[Id][t])
^
printer.cpp: At global scope:
printer.cpp:39:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
main () {
^
printer.cpp: In function 'int main()':
printer.cpp:51:41: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::__cxx11::basic_string<char>::size_type {aka long unsigned int}' [-Wformat=]
printf("%d\n",(Ts-1)*2-s[M].size()+n);
~~~~~~~~~~~~~~~~~~~~~~^