Skip to content

Commit 84de6bc

Browse files
committed
Добавлены новые задачи
1 parent f05030b commit 84de6bc

File tree

5 files changed

+124
-0
lines changed

5 files changed

+124
-0
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,6 @@
7070
<li><a href="https://github.com/allicen/Java-10000/tree/master/circle" target="_blank">Кругляши</a> (16%)</li>
7171
<li><a href="https://github.com/allicen/Java-10000/tree/master/field" target="_blank">Поля</a> (16%)</li>
7272
<li><a href="https://github.com/allicen/Java-10000/tree/master/fibonacci" target="_blank">Числа Фибоначчи</a> (16%)</li>
73+
<li><a href="https://github.com/allicen/Java-10000/tree/master/chess_field" target="_blank">Шахматное поле</a> (16%)</li>
74+
<li><a href="https://github.com/allicen/Java-10000/tree/master/bolts_nuts" target="_blank">Болты и гайки</a> (17%)</li>
7375
</ol>

bolts_nuts/BoltsNuts.java

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package bolts_nuts;
2+
3+
import java.util.*;
4+
import java.io.*;
5+
6+
public class BoltsNuts {
7+
private static ArrayList<String> data = new ArrayList<>();
8+
private static ArrayList<Double> bolt = new ArrayList<>();
9+
private static ArrayList<Double> nuts = new ArrayList<>();
10+
11+
private static void getData() throws IOException{
12+
FileReader file = new FileReader("input.txt");
13+
Scanner sc = new Scanner(file);
14+
while (sc.hasNextLine()){
15+
data.add(sc.nextLine());
16+
}
17+
StringTokenizer stBolts = new StringTokenizer(data.get(0), " ");
18+
while (stBolts.hasMoreTokens()){
19+
bolt.add(Double.valueOf(stBolts.nextToken()));
20+
}
21+
StringTokenizer stNuts = new StringTokenizer(data.get(1), " ");
22+
while (stNuts.hasMoreTokens()){
23+
nuts.add(Double.valueOf(stNuts.nextToken()));
24+
}
25+
}
26+
public static void main(String[] argv) throws IOException{
27+
getData();
28+
double subtotal = bolt.get(0) * (bolt.get(1) / 100) * bolt.get(2) + nuts.get(0) * (nuts.get(1) / 100) * nuts.get(2);
29+
30+
double boltSave = bolt.get(0) - bolt.get(0) * (bolt.get(1) / 100);
31+
double nutsSave = nuts.get(0) - nuts.get(0) * (nuts.get(1) / 100);
32+
double diffrentDetail = (boltSave > nutsSave) ? (boltSave - nutsSave) * bolt.get(2) :
33+
(boltSave < nutsSave) ? (nutsSave - boltSave) * nuts.get(2) : 0;
34+
double result = subtotal + diffrentDetail;
35+
PrintWriter pw = new PrintWriter(new File("output.txt"));
36+
pw.print(String.valueOf((int)result));
37+
pw.close();
38+
}
39+
40+
}

bolts_nuts/README.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<h1 class="title">Болты и гайки(17%)</h1>
2+
<p><b>Время: 1 сек.<br>Память: 16 Мб<br>Сложность: 17%</b></p>
3+
<p>Вновь созданная фирма купила заброшенные склады на окраине города. Новому заведующему складами поручили произвести учёт в короткие сроки. Всё шло хорошо, пока случайно не рассыпали контейнеры с болтами и гайками на каждом складе, после чего собрали их в общие (для болтов и гаек) контейнеры, потеряв при этом несколько деталей.</p>
4+
<p>Помогите оценить нанесённый ущерб на каждом складе, приняв во внимание, что, помимо потерянных деталей, болт (или гайка) считается непригодным, если он не имеет соответствующей гайки (или болта).</p>
5+
<h2>Формат ввода</h2>
6+
<p>Во входном файле input.txt описано текущее положение на складе. В первой строке через пробел записаны три целых числа: k<sub>1</sub>, l<sub>1</sub>, m<sub>1</sub> – начальное число болтов (100 ≤ k<sub>1</sub> ≤ 30000, k<sub>1</sub> кратно 100), процент потерянных деталей (0 ≤ l<sub>1</sub> ≤ 100) и стоимость одного болта (1 ≤ m<sub>1</sub> ≤ 100) соответственно. Во второй строке через пробел записаны также три целых числа: k<sub>2</sub>, l<sub>2</sub>, m<sub>2</sub> – начальное число гаек (100 ≤ k<sub>2</sub> ≤ 30000, k<sub>2</sub> кратно 100), процент потерянных деталей (0 ≤ l<sub>2</sub> ≤ 100) и стоимость одной гайки (1 ≤ m<sub>2</sub> ≤ 100) соответственно.</p>
7+
<h2>Формат вывода</h2>
8+
<p>В выходной output.txt выведите одно целое число – размер ущерба.</p>
9+
<h3>Примеры</h3>
10+
<table class="sample-tests">
11+
<thead>
12+
<tr>
13+
<th>Ввод</th>
14+
<th>Вывод</th>
15+
</tr>
16+
</thead>
17+
<tbody>
18+
<tr>
19+
<td>1000 10 100<br>
20+
1200 20 90</td>
21+
<td>37000</td>
22+
</tr>
23+
<tr>
24+
<td>5000 15 23<br>
25+
4000 17 22</td>
26+
<td>53600</td>
27+
</tr>
28+
</tbody>
29+
</table>
30+

chess_field/ChessField.java

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package chess_field;
2+
3+
import java.util.*;
4+
import java.io.*;
5+
6+
public class ChessField {
7+
private static ArrayList<Integer> coordinate = new ArrayList<>();
8+
private static void getData() throws IOException{
9+
FileReader file = new FileReader("input.txt");
10+
Scanner sc = new Scanner(file);
11+
String str = sc.nextLine();
12+
StringTokenizer st = new StringTokenizer(str, " ");
13+
while (st.hasMoreTokens()){
14+
coordinate.add(Integer.valueOf(st.nextToken()) % 2);
15+
}
16+
}
17+
public static void main(String[] argv) throws IOException{
18+
getData();
19+
String result = (coordinate.get(0).equals(coordinate.get(1)) && coordinate.get(2).equals(coordinate.get(3)) ||
20+
!coordinate.get(0).equals(coordinate.get(1)) && !coordinate.get(2).equals(coordinate.get(3))) ? "YES" : "NO";
21+
PrintWriter pw = new PrintWriter(new File("output.txt"));
22+
pw.print(result);
23+
pw.close();
24+
}
25+
}

chess_field/README.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<h1 class="title">Шахматное поле (16%)</h1>
2+
<p><b>Время: 1 сек.<br>Память: 16 Мб<br>Сложность: 16%</b></p>
3+
<p>На стандартной шахматной доске 8х8 заданы координаты двух клеток. Требуется определить: имеют ли данные клетки одинаковый цвет?</p>
4+
<h2>Формат ввода</h2>
5+
<p>Входной файл input.txt содержит целые числа x<sub>1</sub>, y<sub>1</sub>, x<sub>2</sub>, y<sub>2</sub>, описывающие координаты двух клеток (x<sub>1</sub>,y<sub>1</sub>) и (x<sub>2</sub>,y<sub>2</sub>). Ограничения: 1 ≤ x<sub>1</sub>,y<sub>1</sub>,x<sub>2</sub>,y<sub>2</sub> ≤ 8.</p>
6+
<h2>Формат вывода</h2>
7+
<p>В выходной файл output.txt выведите YES, если поля одного цвета, или слово NO в противном случае.</p>
8+
<h3>Примеры</h3>
9+
<table class="sample-tests">
10+
<thead>
11+
<tr>
12+
<th>Ввод</th>
13+
<th>Вывод</th>
14+
</tr>
15+
</thead>
16+
<tbody>
17+
<tr>
18+
<td>1 1 4 4</td>
19+
<td>YES</td>
20+
</tr>
21+
<tr>
22+
<td>1 2 7 5</td>
23+
<td>NO</td>
24+
</tr>
25+
</tbody>
26+
</table>
27+

0 commit comments

Comments
 (0)