Similar documents



cpp1.dvi

C言語によるアルゴリズムとデータ構造

ComputerCraft 対応 寺園聖文 [ 著 ] 中植正剛 [ 監修 ]

P05.ppt

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

r07.dvi

ohp07.dvi

main

新版明解C言語 実践編

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

新・明解C言語で学ぶアルゴリズムとデータ構造

tuat1.dvi

Taro-再帰関数Ⅲ(公開版).jtd

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

@okuraofvegetabl

データ構造とアルゴリズム論

@okuraofvegetabl

2008chom.pdf

program7app.ppt

P06.ppt

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2

kiso2-09.key

PowerPoint Presentation

Microsoft PowerPoint - lec4.ppt

8 if switch for while do while 2

CONTENTS MacBook 2014 OS X Mavericks Chapter Chapter



P03.ppt


1.ppt

C , C++ C C++ C++ C cpprefjp - C++ 1 C CUI 2.1 donothing.cpp 1

2

Microsoft PowerPoint - 10.ppt [互換モード]

cpp2.dvi

ohp11.dvi

r11.dvi

double float

cp-7. 配列

3.1 stdio.h iostream List.2 using namespace std C printf ( ) %d %f %s %d C++ cout cout List.2 Hello World! cout << float a = 1.2f; int b = 3; cout <<

プログラミングA

‚æ4›ñ

プログラミング入門1

新・明解C言語 実践編

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

(search: ) [1] ( ) 2 (linear search) (sequential search) 1

3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");

O(N) ( ) log 2 N

Microsoft Word - no14.docx

プログラミングA


問題 01 水道料金を節約しよう 問題のポイント問題文で述べられた仕様を理解し その通りに動作するプログラムを記述できるかを問う問題です 変数 入出力 四則演算に加え 条件分岐や繰り返し処理についての知識が必要です 問題の解き方いくつかのアルゴリズムが考えられますが w が 100 以下と小さい値な

Microsoft Word - Cプログラミング演習(1)_2012

Excel97関数編

PowerPoint プレゼンテーション


10K

( ) ( ) 30 ( ) 27 [1] p LIFO(last in first out, ) (push) (pup) 1

プログラミング基礎

発行元 株式会社マイナビ 東京都千代田区一ツ橋1-1-1 パレスサイドビル 編集 販売 注文専用ダイヤル マイナビ 2014 Printed in Japan 図書印刷 株 雑誌

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

Microsoft Word - no11.docx

Java updated

pptx

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

解きながら学ぶC++入門編

明解Javaによるアルゴリズムとデータ構造

untitled

ハーモニカと7日間の妖精

PowerPoint プレゼンテーション

2

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也

1.3 ( ) ( ) C

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

データ構造とアルゴリズム論

9 chapter

1_sugata

MacOSX印刷ガイド

Œ{Ł¶/1flà

荳也阜轣ス螳ウ蝣ア蜻・indd

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( )

プログラミング入門1

(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10;

Taro-再帰関数Ⅱ(公開版).jtd

PDF


81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

Javaによるアルゴリズムとデータ構造



株式会社日清製粉グループ本社 第158期中間事業報告書

Microsoft Word - C言語研修 C++編 3.doc

P KK-KKH.indd

橡00horse.PDF

PG13-6S

Transcription:

4

5

6

CHAPTER 1

1 1-1 n % i n = 3 m = 10 k = {1, 3, 5 Yes 1, 1, 3, 5 10 n = 3 m = 9 k = {1, 3, 5 No 9 8

1-1 #include <cstdio> const int MAX_N = 50; int main() { int n, m, k[max_n]; // scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) { scanf("%d", &k[i]); // m bool f = false; // 4 for (int a = 0; a < n; a++) { for (int b = 0; b < n; b++) { for (int c = 0; c < n; c++) { for (int d = 0; d < n; d++) { if (k[a] + k[b] + k[c] + k[d] == m) { f = true; // if (f) puts("yes"); else puts("no"); return 0; 9

1 10

1-2 1-2 11

1 12

1-3 1-3 // int n, m, k[max_n]; void solve() { bool f = false; 13

1 for (int a = 0; a < n; a++) { for (int b = 0; b < n; b++) { for (int c = 0; c < n; c++) { for (int d = 0; d < n; d++) { if (k[a] + k[b] + k[c] + k[d] == m) { f = true; if (f) puts("yes"); else puts("no"); 14

1-4 1-4 15

1 #include <cstdio> int main() { int a, b; scanf("%d %d", &a, &b); printf("%d n", a + b); return 0; 16

1-4 17

1 18

1-4 g k 19

1 1-5 20

1-6 1-6 i % i n = 5 a = {2, 3, 4, 5, 10 12 3, 4, 5 n = 4 a = {4, 5, 10, 20 21

1 0 < 2 // int n, a[max_n]; void solve() { int ans = 0; // // i < j < k for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { for (int k = j + 1; k < n; k++) { int len = a[i] + a[j] + a[k]; // int ma = max(a[i], max(a[j], a[k])); // int rest = len - ma; // 2 if (ma < rest) { // ans = max(ans, len); // 22

1-6 printf("%d n", ans); i % i L = 10 n = 3 x = {2, 6, 7 min = 4 max = 8 n n n 23

1 // int L, n; int x[max_n]; void solve() { // int mint = 0; for (int i = 0; i < n; i++) { mint = max(mint, min(x[i], L - x[i])); // int maxt = 0; for (int i = 0; i < n; i++) { maxt = max(maxt, max(x[i], L - x[i])); printf("%d %d n", mint, maxt); 24

1-6 for (int a = 0; a < n; a++) { for (int b = 0; b < n; b++) { for (int c = 0; c < n; c++) { for (int d = 0; d < n; d++) { if (k[a] + k[b] + k[c] + k[d] == m) { f = true; k a+k b+k c+k d =m d k d =m k a k b k c d a b c a b c x x x x 25

1 O(n log n) O(n 3 log n) // int n, m, k[max_n]; bool binary_search(int x) { // x k[l], k[l + 1],..., k[r - 1]... int l = 0, r = n; // while (r - l >= 1) { int i = (l + r) / 2; if (k[i] == x) return true; // else if (k[i] < x) l = i + 1; else r = i; // return false; 26

1-6 void solve() { // sort(k, k + n); bool f = false; for (int a = 0; a < n; a++) { for (int b = 0; b < n; b++) { for (int c = 0; c < n; c++) { // if (binary_search(m - k[a] - k[b] - k[c])) { f = true; if (f) puts("yes"); else puts("no"); k c+k d=m k a k b c, d c d O(n 2 log n) O(n 2 log n) // int n, m, k[max_n]; // 2 int kk[max_n * MAX_N]; bool binary_search(int x) { 27

1 // x kk[l], kk[l + 1],..., kk[r - 1] int l = 0, r = n * n; // while (r - l >= 1) { int i = (l + r) / 2; if (kk[i] == x) return true; // else if (kk[i] < x) l = i + 1; else r = i; // return false; void solve() { // k[c] + k[d] for (int c = 0; c < n; c++) { for (int d = 0; d < n; d++) { kk[c * n + d] = k[c] + k[d]; // sort(kk, kk + n * n); bool f = false; for (int a = 0; a < n; a++) { for (int b = 0; b < n; b++) { // 2 if (binary_search(m - k[a] - k[b])) { f = true; if (f) puts("yes"); else puts("no"); 28

CHAPTER 2

2 2-1 int fact(int n) { if (n == 0) return 1; return n * fact(n - 1); n n- n- int fib(int n) { if (n <= 1) return n; return fib(n - 1) + fib(n - 2); 30

2-1 int memo[max_n + 1]; int fib(int n) { if (n <= 1) return n; if (memo[n]!= 0) return memo[n]; return memo[n] = fib(n - 1) + fib(n - 2); 31

2 #include <stack> #include <cstdio> using namespace std; int main() { stack<int> s; // int s.push(1); // { {1 s.push(2); // {1 {1,2 s.push(3); // {1,2 {1,2,3 printf("%d n", s.top()); // 3 s.pop(); // {1,2,3 {1,2 printf("%d n", s.top()); // 2 s.pop(); // {1,2 {1 printf("%d n", s.top()); // 1 s.pop(); // {1 { return 0; 32

2-1 #include <queue> #include <cstdio> using namespace std; int main() { queue<int> que; // int que.push(1); // { {1 que.push(2); // {1 {1,2 que.push(3); // {1,2 {1,2,3 printf("%d n", que.front()); // 1 que.pop(); // {1,2,3 {2,3 printf("%d n", que.front()); // 2 que.pop(); // {2,3 {3 printf("%d n", que.front()); // 3 que.pop(); // {3 { return 0; 33

2 n % i n=4 a={1,2,4,7 k=13 Yes 13 = 2 + 4 + 7 n=4 a={1,2,4,7 k=15 No n n 34

2-1 // int a[max_n]; int n, k; // i sum i bool dfs(int i, int sum) { // n sum k if (i == n) return sum == k; // a[i] if (dfs(i + 1, sum)) return true; // a[i] if (dfs(i + 1, sum + a[i])) return true; // a[i] k false return false; void solve() { if (dfs(0, 0)) printf("yes n"); else printf("no n"); * *** *W* *** % N=10, M=12 'W' '.' W...WW..WWW...WWW...WW...WW....WW....W....W...W...W.W...WW. W.W.W...W..W.W...W...W...W. 35

3.6 2017 1 おすすめ 電子書籍 2 体験型の本書でプログラミングの 第1歩を踏みだそう 豊富なイラストで なぜ? を解消! Javaの第一歩を踏み出そう やさしくはじめるiPhoneアプリ作りの教科書 Swift 3 スッキリわかるJava入門 第2版 は Javaの基礎から初 Xcode 8.2対応 は iphoneアプリを作ってみたい初心 学者には難しいとされるオブジェクト指向まで 膨らむ疑問 者のための入門書です プログラミングが初めての人 苦 にしっかり対応しました Javaプログラミングの なぜ が では実際にサンプルアプリを作りながら学んでいきますが イラストによる解説で 一歩ずつ丁寧に iphoneアプリ作 りの基本と楽しさを学べます イラスト に プログラ よる解説で ミ はじめて ングが の人でも 学べる プログラミング 手意識がある人でも楽しく学んでいけるよう なるべくやさ しく イラストや図をたくさん使って解説しています 本書 わかる解説と約300点の豊富なイラストで 楽しく 詳しく スッキリとマスターできる構成となっています なんとなく Javaを使っているけれど オブジェクト指向の理解には自 信がない 学習の途中で挫折してしまった という方にも おススメです 300もの イ 楽しく ラストで 詳 マスター しく スッキリ と! リは ンプルアプ 作成するサ シンプルで ながら作っていける し 意味を理解 やさしくはじめる iphone アプリ作りの 教科書 Swift 3 Xcode 8.2 対応 マイナビ出版 森巧尚 著者 まつむらまきお イラスト 312 ページ 価格 3,002 円 PDF Swift ios開発 も とりの中に 会話のやり ヒントが の 開発現場で いる て 詰め込まれ スッキリわかる Java 入門 第 2 版 インプレス 中山清喬 国本大悟 著者 658 ページ 価格 2,376 円 PDF Java