Compare commits

..

13 Commits

Author SHA1 Message Date
b4dff1d344 fix StorageManager save, read expression and operation
fix create
fix export; not remove src space
2026-05-06 03:02:05 +09:00
b3cd28471e fix export command to clear space state 2026-05-06 02:53:30 +09:00
b15648a17c fix StateManager to save the state 2026-05-06 02:51:41 +09:00
bfb79e573d fix create 2026-05-06 02:40:41 +09:00
34eac82c7a refactoring stage 8
- minor refactoring
- version
- status
2026-05-06 02:36:37 +09:00
d4aaefa130 refactoring stage 7
- implement StorageManager list_entries
- fix show
- fix find
- fix some minor
2026-05-06 02:22:28 +09:00
7706721eb1 refactoring stage 6
- enhance state command
- enhance init
2026-05-06 00:57:45 +09:00
df8fb68a1d refactoring stage 5
- fix export command
2026-05-05 20:04:07 +09:00
97f1636c57 refactoring stage 4
- modify StateManager to accept Language
- fix load command
- modify create command
2026-05-05 17:42:51 +09:00
843f2ef321 refactoring stage 3
- run command
2026-05-05 15:22:53 +09:00
63ecdae57b refactoring stage 2 2026-05-03 12:40:23 +09:00
21d51e4af9 refactoring stage 1
- add StorageManager StateManager
- use pathlib

Co-authored-by: Copilot <copilot@github.com>
2026-05-03 01:09:31 +09:00
b9a8ea6bad update run.py inorder to ensure there is folder to store file 2026-05-02 07:59:08 +09:00
39 changed files with 719 additions and 1209 deletions

1705
run.py

File diff suppressed because it is too large Load Diff

View File

@@ -1,103 +0,0 @@
#include <algorithm>
#include <iostream>
#include <vector>
#define let auto
#define fn auto
#define usize size_t
using namespace std;
#define UD 1'000'000
fn fastio() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
}
fn main() -> int {
fastio();
usize n, m;
cin >> n >> m;
let arr = new usize[5 * m];
let music = new usize[n];
let cnts = new usize[n];
for (usize i = 0; i < n; i++) {
music[i] = UD;
cnts[i] = 0;
}
for (usize i = 0; i < m; i++) {
for (usize j = 0; j < 4; j++) {
cin >> arr[5 * i + j];// idx
arr[5 * i + j] -= 1;
cnts[arr[5 * i + j]]++;
}
cin >> arr[5 * i + 4];
}
let cntv = vector<pair<usize, usize>>();
for (usize i = 0; i < n; i++) {
cntv.push_back(pair(cnts[i], i));
}
sort(cntv.begin(), cntv.end());
reverse(cntv.begin(), cntv.end());
usize tot = 0;
usize before = 0;
for (let it = cntv.begin(); it < cntv.end(); it++) {
if (tot > 3 * m) {
music[before] = UD;
break;
} else if (tot == 3 * m) {
break;
}
else {
tot += it->first;
music[it->second] = 0;
before = it->second;
}
}
for (usize i = 0; i < m; i++) {
let x = arr[5 * i + 0];
let y = arr[5 * i + 1];
let z = arr[5 * i + 2];
let w = arr[5 * i + 3];
let k = arr[5 * i + 4];
let mx = music[x];
let my = music[y];
let mz = music[z];
let mw = music[w];
let key = (mx % 4 + my % 4 + mz % 4 + mw % 4) % 4;
if ((mx + my + mz + mw) / UD == 1) {
if (mx == UD) {
music[x] = (k + 4 - key) % 4;
} else if (my == UD) {
music[y] = (k + 4 - key) % 4;
} else if (mz == UD) {
music[z] = (k + 4 - key) % 4;
} else {
music[w] = (k + 4 - key) % 4;
}
}
}
for (usize i = 0; i < n; i++) {
if (music[i] == UD) {
music[i] = 0;
}
}
for (usize i = 0; i < n; i++) {
cout << music[i] << " ";
}
delete[] arr;
delete[] music;
delete[] cnts;
return 0;
}

View File

@@ -1,36 +0,0 @@
#include <algorithm>
#include <iostream>
#include <vector>
#define let auto
#define fn auto
#define usize size_t
using namespace std;
fn fastio() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
}
fn main() -> int {
fastio();
usize r, u, n;
cin >> r >> u >> n;
usize cnt = r * u;
if (n <= 10) {
usize fibn = 2;
usize fibns1 = 1;
usize fibns2 = 1;
for (usize i = 3; i < n; i++) {
fibns2 = fibns1;
fibns1 = fibn;
fibn = fibns2 + fibns1;
}
usize delta = ((u - 1) * fibns1 + (r - 1) * fibns2);
cout << delta / fibns1 + delta / fibns2 - (delta / (fibns1 * fibns2)) + 1 << endl;
} else {
cout << cnt << endl;
}
}

View File

@@ -1,80 +0,0 @@
#include <algorithm>
#include <iostream>
#include <queue>
#include <vector>
#define let auto
#define fn auto
#define usize size_t
#define UMAX 0xfffffff
using namespace std;
fn fastio() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
}
struct Fire {
usize f;
usize v;
};
fn main() -> int {
fastio();
let _comp = [](Fire &a, const Fire &b) { return a.f < b.f; };
usize n, m;
cin >> n >> m;
let fs = vector<Fire>(n);
let bs = vector<usize>(m);
for (usize i = 0; i < n; i++) {
cin >> fs[i].f;
cin >> fs[i].v;
}
sort(fs.begin(), fs.end(), _comp);
for (usize i = 0; i < m; i++) {
cin >> bs[i];
}
// 1pass
usize last = UMAX;
let vfx = vector<usize>();
for (usize i = 0; i < m; i++) {
let t = bs[i];
Fire tf = {
.f = t,
.v = 0,
};
}
if (last == UMAX) {
last = m;
}
// 2pass
sort(vfx.begin(), vfx.end());
let heap = priority_queue<usize>();
usize total_v = 0;
while (vfx.size() > 0) {
let key = *(vfx.end() - 1);
vfx.pop_back();
while (fs.size() > 0 && (fs.end() - 1)->f >= key) {
heap.push((fs.end() - 1)->v);
fs.pop_back();
}
total_v += heap.top();
heap.pop();
}
cout << last << " " << total_v << endl;
}