Możemy na bieżąco wczytywać słowo i od razu wypisywać jego pierwszą literę.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
string line;
cin >> line;
cout << line[0];
}
cout << '\n';
return 0;
}
def main():
n = int(input())
for _ in range(n):
line = input()
print(line[0], end='')
print()
main()
Te dwie linijki w C++ wpływają na szybkość wczytywania i wyświetlania danych, warto je dać, jeżeli w zadaniu mamy dużo operacji wczytywania lub wypisywania.
std::ios_base::sync_with_stdio(false);
std::cin
, std::cout
) są zsynchronizowane
ze strumieniami wejścia/wyjścia w C (scanf
, printf
).
Dzięki temu można używać obu tych mechanizmów równocześnie.std::cin
i std::cout
działają wtedy szybciej bez narzutu
wynikającego z synchronizacji z biblioteką C.std::cin.tie(nullptr);
std::cin
jest “połączone” (tied
)
z std::cout
. To oznacza, że zanim std::cin
coś wczyta,
std::cout
automatycznie “wypisze” wszystkie dane,
które czekają w buforze.std::cin
i std::cout
.
Dzięki temu std::cin
nie musi czekać,
aż std::cout
wypisze dane,
co także przyspiesza działanie programu.