试机题
完全没有难度的题目,抛开编程小学生都会的题目
基本输入输出
两数之和
1 2 3 4 5 6 7 8 #include <bits/stdc++.h> using namespace std;int main () { long long a, b; cin >> a >> b; cout << a + b << endl; return 0 ; }
1 2 3 4 5 6 7 #include <stdio.h> int main () { long long a, b; scanf ("%d %d" , &a, &b); printf ("%d" , a + b); return 0 ; }
1 print (sum (map (int , input ().split())))
1 2 3 4 5 6 7 8 9 import Java.util.*;public class Main { public static void main (String[] args) { Scanner in = new Scanner (System.in); long long a = in.nextInt(); long long b = in.nextInt(); System.out.println(a + b); } }
P1000 超级玛丽游戏
题目描述
超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ******** ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## ############
输入格式
无输入
输出格式
无输出
输入输出样例
无
解答代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 s = """ ******** ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## ############""" print (s)
P1001 A+B Problem
题目描述
输入两个整数 a, ba,b,输出它们的和(\(|a|,|b| \leq 10^9\) )。
注意
Pascal 使用 integer 会爆掉哦!
有负数哦!
C/C++ 的 main 函数必须是 int 类型,而且 C 最后要 return
0。这不仅对洛谷其他题目有效,而且也是 NOIP/CSP/NOI 比赛的要求!
好吧,同志们,我们就从这一题开始,向着大牛的路进发。
输入格式
两个以空格分开的整数。
输出格式
一个整数。
输入输出样例
输入:20 30
输出:50
解题思路
幼儿园小朋友都会的问题,主要是学习下数据的输入和输出
解答代码
1 print (sum (map (int , input ().split())))
1 2 3 4 5 6 7 8 9 import Java.util.*;public class Main { public static void main (String[] args) { Scanner in = new Scanner (System.in); int a = in.nextInt(), b = in.nextInt(); System.out.println(a + b); } }
1 2 3 4 5 6 7 8 #include <bits/stdc++.h> int main () { int a, b; std::cin >> a >> b; std::cout << a + b << std::endl; return 0 ; }
P1008 [NOIP1998 普及组]
三连击
题目描述
将 1,2,…,9 共 9 个数分成 3 组,分别组成 3 个三位数,且使这 3
个三位数构成 1:2:3 的比例,试求出所有满足条件的 3 个三位数。
输入格式
无输入
输出格式
若干行,每行 3 个数字。按照每行第 1 个数字升序排列。
输入输出样例
输入: #1
无
输出: #1
1 2 3 4 5 6 192 384 576 * * * ... * * * (剩余部分不予展示)
解题思路
枚举第一个数,然后按照比例计算出第二个数和第三个数,然后检查这三个数是否满足
由1~9组成
可以大概估算下范围:第一个数最小是 123,最大是 987 / 3 或 999 / 3
解答代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 ans = [] number = "123456789" for i in range (123 , 333 ): s = str (i) if '0' in s: continue s = "" .join([s, str (i * 2 ), str (i * 3 )]) for n in number: if n not in s: break else : ans.append([i, i * 2 , i * 3 ]) for a, b, c in ans: print (a, b, c)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #include <bits/stdc++.h> using namespace std;class Solution {public : void threenumber () { vector<int > vis (9 , 0 ) ; for (int i = 123 ; i < 333 ; ++i) { int x = i, y = i * 2 , z = i * 3 ; while (x != 0 ) { int s = x % 10 ; x /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) goto end; else vis[s - 1 ] = 1 ; } while (y != 0 ) { int s = y % 10 ; y /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) goto end; else vis[s - 1 ] = 1 ; } while (z != 0 ) { int s = z % 10 ; z /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) goto end; else vis[s - 1 ] = 1 ; } cout << i << " " << i * 2 << " " << i * 3 << endl; end: for (int j = 0 ; j < 9 ; ++j) vis[j] = 0 ; } } }; int main () { Solution s; s.threenumber (); return 0 ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import Java.util.*;public class Main { public static void main (String[] args) { loop1:for (int i = 123 ; i < 333 ; ++i) { int [] vis = new int [9 ]; int a = i, b = i * 2 , c = i * 3 ; while (a > 0 ) { int s = a % 10 ; a /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) continue loop1; else vis[s - 1 ] = 1 ; } while (b > 0 ) { int s = b % 10 ; b /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) continue loop1; else vis[s - 1 ] = 1 ; } while (c > 0 ) { int s = c % 10 ; c /= 10 ; if (s == 0 || vis[s - 1 ] == 1 ) continue loop1; else vis[s - 1 ] = 1 ; } System.out.println(Integer.toString(i) + " " + Integer.toString(i * 2 ) + " " + Integer.toString(i * 3 )); } } }