From cc8f21ef9ef5158f2442d2df4e8d0730f388931e Mon Sep 17 00:00:00 2001 From: Bruno Freitas Tissei <bft15@inf.ufpr.br> Date: Fri, 28 Jun 2019 11:46:08 -0300 Subject: [PATCH] Small changes Signed-off-by: Bruno Freitas Tissei <bft15@inf.ufpr.br> --- algorithms/math/big_integer.cpp | 3 +- algorithms/math/fft.cpp | 4 +- caderno.pdf | Bin 226610 -> 226554 bytes contests/SBC16/A.cpp | 47 ++++++++++++++++++++ contests/SBC16/H.cpp | 39 +++++++++++++++++ contests/SBC16/a.out | Bin 0 -> 23184 bytes contests/SBC18/B.cpp | 73 ++++++++++++++++++++++++++++++++ gen_notebook | 30 +++++++++++-- 8 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 contests/SBC16/A.cpp create mode 100644 contests/SBC16/H.cpp create mode 100755 contests/SBC16/a.out create mode 100644 contests/SBC18/B.cpp diff --git a/algorithms/math/big_integer.cpp b/algorithms/math/big_integer.cpp index bc69d5e..ae2bed3 100644 --- a/algorithms/math/big_integer.cpp +++ b/algorithms/math/big_integer.cpp @@ -302,8 +302,7 @@ struct BigInt { while (a.size() & (a.size() - 1)) a.pb(0), b.pb(0); - Karatsuba karatsuba; - vector<ll> c = karatsuba.run(a, b); + vector<ll> c = karatsuba(a, b); BigInt res; int carry = 0; diff --git a/algorithms/math/fft.cpp b/algorithms/math/fft.cpp index 7d87d2f..c4f829f 100644 --- a/algorithms/math/fft.cpp +++ b/algorithms/math/fft.cpp @@ -42,12 +42,12 @@ struct FFT { rev.resize(1 << nbase); roots.resize(1 << nbase); - // Construct rev vector + // Build rev vector for (int i = 0; i < (1 << nbase); ++i) rev[i] = (rev[i >> 1] >> 1) + \ ((i & 1) << (nbase - 1)); - // Construct roots vector + // Build roots vector for (int base = 1; base < nbase; ++base) { float angle = 2 * M_PI / (1 << (base + 1)); diff --git a/caderno.pdf b/caderno.pdf index 36941c4bd14d17f3e797b3d264b95d3873ddb0fa..53d0190a3a5725ada0d5ed98b3b139107b0916d9 100644 GIT binary patch delta 17471 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 O3OF}63MC~)PeuwBWHJB% delta 17569 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 IB}Gq03fc#)YXATM diff --git a/contests/SBC16/A.cpp b/contests/SBC16/A.cpp new file mode 100644 index 0000000..4590387 --- /dev/null +++ b/contests/SBC16/A.cpp @@ -0,0 +1,47 @@ +#include <bits/stdc++.h> + +#define EPS 1e-6 +#define MOD 1000000007 +#define inf 0x3f3f3f3f +#define llinf 0x3f3f3f3f3f3f3f3f + +#define fi first +#define se second +#define pb push_back +#define ende '\n' + +#define all(x) (x).begin(), (x).end() +#define rall(x) (x).rbegin(), (x).rend() +#define mset(x, y) memset(&x, (y), sizeof(x)) + +using namespace std; + +using ll = long long; +using ii = pair<int,int>; + +int main() { + ios::sync_with_stdio(0); + cin.tie(0); + + vector<int> v(3); + for (auto &i: v) cin >> i; + + bool poss = false; + for (int i = 1; i < 8; ++i) { + for (int j = 0; j < 8; ++j) { + int sum = 0; + for (int k = 0; k < 3; ++k) { + if (i & (1 << k)) { + if (j & (1 << k)) sum += v[k]; + else sum -= v[k]; + } + } + + if (sum == 0) poss = true; + } + } + + if (poss) cout << "S" << ende; + else cout << "N" << ende; + return 0; +} diff --git a/contests/SBC16/H.cpp b/contests/SBC16/H.cpp new file mode 100644 index 0000000..b8f9651 --- /dev/null +++ b/contests/SBC16/H.cpp @@ -0,0 +1,39 @@ +#include <bits/stdc++.h> + +#define EPS 1e-6 +#define MOD 1000000007 +#define inf 0x3f3f3f3f +#define llinf 0x3f3f3f3f3f3f3f3f + +#define fi first +#define se second +#define pb push_back +#define ende '\n' + +#define all(x) (x).begin(), (x).end() +#define rall(x) (x).rbegin(), (x).rend() +#define mset(x, y) memset(&x, (y), sizeof(x)) + +using namespace std; + +using ll = long long; +using ii = pair<int,int>; + +bool vowel(char x) { + return (x == 'a') || (x == 'e') || (x == 'i') || (x == 'o') || (x == 'u'); +} + +int main() { + ios::sync_with_stdio(0); + cin.tie(0); + + string s; cin >> s; + string t, w; + for (auto i : s) if (vowel(i)) t.pb(i); + w = t; + reverse(all(t)); + if (w == t) cout << "S" << ende; + else cout << "N" << ende; + + return 0; +} diff --git a/contests/SBC16/a.out b/contests/SBC16/a.out new file mode 100755 index 0000000000000000000000000000000000000000..71cabd06f9608efa44779b2b5837c4fbe534a032 GIT binary patch literal 23184 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 OFW+KFIBg2HsPez73ZJL| literal 0 HcmV?d00001 diff --git a/contests/SBC18/B.cpp b/contests/SBC18/B.cpp new file mode 100644 index 0000000..0931aac --- /dev/null +++ b/contests/SBC18/B.cpp @@ -0,0 +1,73 @@ +#include <bits/stdc++.h> + +#define MAX 101 +#define EPS 1e-6 +#define MOD 1000000007 +#define inf 0x3f3f3f3f +#define llinf 0x3f3f3f3f3f3f3f3f + +#define fi first +#define se second +#define pb push_back +#define ende '\n' + +#define all(x) (x).begin(), (x).end() +#define rall(x) (x).rbegin(), (x).rend() +#define mset(x, y) memset(&x, (y), sizeof(x)) + +using namespace std; + +using ll = long long; +using ii = pair<int,int>; + +int foi[500]; +int mat[MAX][MAX]; +int dp[MAX][MAX]; + +int main() { + ios::sync_with_stdio(0); + cin.tie(0); + + for (int i = 0; i < MAX; ++i) { + dp[i][0] = 499; + dp[0][i] = 499; + dp[i][i] = 499; + } + + for (int i = 1; i < MAX; ++i) { + for (int j = 1; j < MAX; ++j) { + if (i != j) { + mset(foi, 0); + for (int k = 1; k <= i; ++k) + foi[dp[i-k][j]] = 1; + for (int k = 1; k <= j; ++k) + foi[dp[i][j-k]] = 1; + + int mm = min(i, j); + for (int k = 1; k <= mm; ++k) + foi[dp[i-k][j-k]] = 1; + + int res = -1; + for (int k = 0; k < 500; ++k) + if (!foi[k]) { + res = k; + break; + } + + dp[i][j] = res; + } + } + } + + int ans = 0; + int n; cin >> n; + for (int i = 0; i < n; ++i) { + int a, b; cin >> a >> b; + if (dp[a][b] == 499) + return cout << 'Y' << ende, 0; + ans ^= dp[a][b]; + } + + cout << ((ans) ? 'Y' : 'N') << ende; + return 0; +} diff --git a/gen_notebook b/gen_notebook index 394a48c..3d13e47 100755 --- a/gen_notebook +++ b/gen_notebook @@ -1,16 +1,38 @@ #!/bin/bash +output_name="caderno.pdf" + if [ "$1" = "DEBUG" ]; then tex_file=result.tex python3 notebook/gen_latex.py --header=notebook/header.tex --output=$tex_file else tex_file=bft_notebook + + echo "Generating LaTeX file..." python3 notebook/gen_latex.py --header=notebook/header.tex --output=$tex_file + if [ $? -eq 0 ]; then + echo "LaTeX file generated successfully" + else + echo "ERROR on gen_latex.py script" + exit 1 + fi + + echo "Generating PDF..." + # Lualatex must be used in order to work with the correct font - lualatex $tex_file -halt-on-error -output-directory . && - lualatex $tex_file -halt-on-error -output-directory . + # and it must be executed twice to work properly + lualatex -halt-on-error -interaction=nonstopmode $tex_file -output-directory . > latex_log.txt && + lualatex -halt-on-error -interaction=nonstopmode $tex_file -output-directory . > latex_log.txt - mv $tex_file.pdf caderno.pdf - rm $tex_file* + if [ $? -eq 0 ]; then + mv $tex_file.pdf $output_name + rm $tex_file* + rm latex_log.txt + echo "PDF generated successfully: $output_name" + else + rm $tex_file* + echo "ERROR on LaTeX input file: check latex_log.txt" + exit 1 + fi fi -- GitLab