Diferente pentru template_shopping intre reviziile #3 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;
 
    std::cin >> val;
    if(val == -1)
        exit(0);
    return val;
}
 
int main() {
    int T;
	cin >> val;
	if(val == -1)
		exit(0);
	return val;
    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;
}
void answer(vector<int> perm) {
	cout << "! ";
	for(auto it: perm)
		cout << it << " ";
	cout << endl;
==
 
h1. Template C
 
==code(c) |
#include <stdio.h>
#include <stdlib.h>
 
// Afla raspunsul la interactiune daca ar trimite sirurile de caractere A si B de marime N
// N trebuie sa fie cel pe care il primesti in find_permutation
// A si B trebuie indexate de la 0 si sa fie de marime cel putin N
int query(char* A, char* B, int N);
 
// De aici in sus nu ar trebui sa modifici nimic
 
int rezperm[200];
 
// Functia trebuie sa returneze permutarea ceruta
// Permutarea aici in implementare va fi indexata de la 0
int* find_permutation(int N) {
    int i;
 
    for(i = 0; i < N; ++i)
        rezperm[i] = i + 1;
 
    return rezperm;
}
 
// De aici in jos nu ar trebui sa modifici nimic
 
int query(char* A, char* B, int N) {
    int i, val;
 
    fputc('?', stdout);
    for(i = 0; i < N; ++i)
        fputc(A[i], stdout);
    fputc(' ', stdout);
 
    for(i = 0; i < N; ++i)
        fputc(B[i], stdout);
    fputc('\n', stdout);
 
    fflush(stdout);
 
    scanf("%d", &val);
    if(val == -1)
        exit(0);
 
    return val;
}
int main() {
	int T;
    int i, T, N, *perm;
	cin >> T;
 
	while(T--) {
		int N;
		cin >> N;
		vector<int> perm = find_permutation(N);
		answer(perm);
	}
    scanf("%d", &T);
 
    while(T--) {
        scanf("%d", &N);
 
        if(N == -1)
            exit(0);
 
        perm = find_permutation(N);
 
        printf("! ");
        for(i = 0; i < N; ++i)
            printf("%d ", perm[i]);
        printf("\n");
 
        fflush(stdout);
    }
	return 0;
    return 0;
}
==
h1. Template C
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");
	}
}
==code(cpp) |
==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.