Pagini recente » Istoria paginii utilizator/bigmixer | Diferente pentru problema/lautari intre reviziile 34 si 22 | Diferente pentru grigore-moisil-2016/11-12 intre reviziile 1 si 2 | Diferente pentru utilizator/theo20067 intre reviziile 1 si 15 | Diferente pentru template_shopping intre reviziile 5 si 15
Nu exista diferente intre titluri.
Diferente intre continut:
#include <vector>
#include <string>
using namespace std;
int query(string A, string B);
void answer(vector<int> perm);
// Afla raspunsul la interactiune daca ar trimite sirurile de caractere A si B de marime N
// A si B trebuie indexate de la 0 si sa fie de marime cel putin N
int query(std::string A, std::string B);
// De aici in sus nu ar trebui sa modifici nimic
// Functia trebuie sa returneze permutarea ceruta
// Permutarea aici in implementare va fi indexata de la 0
std::vector<int> find_permutation(int N) {
vector<int> perm;
for(int i = 1; i <= N; ++i)
perm.push_back(i);
return perm;
std::vector<int> perm;
for(int i = 1; i <= N; ++i)
perm.push_back(i);
return perm;
}
// De aici in jos nu ar trebui sa modifici nimic
int query(string A, string B) {
int val;
cout << "? " << A << " " << B << endl;
int query(std::string A, std::string B) {
int val;
std::cout << "? " << A << " " << B << std::endl;
cin >> val;
if(val == -1)
exit(0);
return val;
}
void answer(vector<int> perm) {
cout << "! ";
for(auto it: perm)
cout << it << " ";
cout << endl;
std::cin >> val;
if(val == -1)
exit(0);
return val;
}
int main() {
int T;
int T;
cin >> T;
while(T--) {
int N;
cin >> N;
vector<int> perm = find_permutation(N);
answer(perm);
}
std::cin >> T;
while(T--) {
int N;
std::cin >> N;
if(N == -1)
exit(0);
std::vector<int> perm = find_permutation(N);
std::cout << "! ";
for(auto it: perm)
std::cout << it << " ";
std::cout << std::endl;
}
return 0;
return 0;
}
==
h1. Template C
while(T--) {
scanf("%d", &N);
if(N == -1)
exit(0);
perm = find_permutation(N);
printf("! ");
return 0;
}
==
h1. Template Rust
==code(rs) |
use std::string::String;
use std::io;
use std::process::exit;
fn find_permutation(n: i32) -> Vec<i32> {
let mut res : Vec<i32> = Vec::new();
for i in 0..n {
res.push(i + 1);
}
res
}
// De aici in jos nu ar trebui sa modifici nimic
fn read_i32() -> i32 {
let mut text = String::new();
io::stdin().read_line(&mut text).expect("Failed to read line!");
let val = text.trim().parse().expect("Expected number!");
if val == -1 {
exit(0);
}
val
}
fn query(a: String, b: String) -> i32 {
println!("? {} {}", a, b);
read_i32()
}
fn main() {
let t = read_i32();
for _i in 0..t {
let n = read_i32();
if n == -1 {
exit(0);
}
let perm = find_permutation(n);
print!("! ");
for element in perm {
print!("{} ", element);
}
print!("\n");
}
}
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.