Temat: Standardowe wejście w c++.

W regulaminie jest napisane, że należy korzystać ze standardowego wejścia i wyjścia. Rozumiem, że oznacza to cin/cout. Czy można używać zamiast tego printf/scanf?
Można, standardowe wejście oznacza wejście z konsoli, o ile się nie mylę. Innym przykładem wejścia jest np. wypisywanie/wczytywanie z pliku w sensie fstream.
Można nawet tak zrobić, tylko po co?

#include <cstdio>

int main() {
FILE* in = fopen("/dev/stdin", "r");
FILE* out = fopen("/dev/stdout", "w");

int n;
fscanf(in, "%d", &n);

for (int i = 0; i < (1<<n); ++i) {
fprintf(out, "%d", i);
}
}