Ограничение по времени работы программы: 1 секунда В текстовом файле две строки. В каждой...

0 голосов
55 просмотров

Ограничение по времени работы программы: 1 секунда В текстовом файле две строки. В каждой строке записаны какие-то числа через пробел. Подсчитайте количество чисел, встречающихся в первой строке, но не встречающихся во второй. ВХОДНЫЕ ДАННЫЕ Входные данные к этой задаче записаны в файле input.txt. В этом файле две строки, каждая строка содержит целые числа, по модулю не превосходящие 109109, записанные через пробел. Общее количество чисел не превосходит 100000. В одной строке все числа различные. ВЫХОДНЫЕ ДАННЫЕ Программа должна вывести в файл output.txt количество чисел, которые содержатся в первой строке, но не содержатся во второй.


Информатика (16 баллов) | 55 просмотров
Дан 1 ответ
0 голосов

Написали бы язык программирования. Вот на java.
import java.io.*;
import java.util.ArrayList;

public class Main {
public static void main(String[] args) throws IOException {
//Создаём объекты, которые помогут с чтением и записью файла
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
//Читаем первую и вторую строку
String one = reader.readLine();
String two = reader.readLine();
//Парсим строки в массивы целых чисел
String[] oneStringArray = one.split(" ");
String[] twoStringArray = two.split(" ");
ArrayList oneList = new ArrayList<>();
ArrayList twoList = new ArrayList<>();
for (String s:oneStringArray) {
oneList.add(Integer.parseInt(s));
}
for (String s:twoStringArray) {
twoList.add(Integer.parseInt(s));
}
//Прогоняем первый массив в цикле, если не находим совпалений во второй массиве, то увеличиваем значение count на 1
int count = 0;
for(int a:oneList){
boolean flg = false;
for(int b:twoList){
if(a == b){
flg = true;
break;
}
}
if(flg){
count++;
}
}
writer.write(count);
writer.close();
}

}


image
(104 баллов)