Untitled
unknown
plain_text
a year ago
3.7 kB
9
Indexable
#include<bits/stdc++.h>
#define ll long long
#define pp push_back
#define endl '\n'
#define all(x) x.begin(),x.end()
#define ld long double
#define PI acos(-1)
#define sin(a) sin((a)*PI/180)
#define cos(a) cos((a)*PI/180)
#define ones(x) __builtin_popcountll(x)
//#define int ll
using namespace std;
void Drakon() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifdef Clion
freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
#endif
}
unsigned long long inf = 1e10;
const double EPS = 1e-6;
const int MOD = 1000000007, N = 200005, LOG = 25;
ll mul(const ll &a, const ll &b) {
return (a % MOD + MOD) * (b % MOD + MOD) % MOD;
}
ll add(const ll &a, const ll &b) {
return (a + b + 2 * MOD) % MOD;
}
ll pw(ll x, ll y) {
ll ret = 1;
while (y > 0) {
if (y % 2 == 0) {
x = mul(x, x);
y = y / 2;
} else {
ret = mul(ret, x);
y = y - 1;
}
}
return ret;
}
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
struct Book{
string name, category;
int pages, price;
};
void solve() {
for (int i = 0; i < 10; ++i) {
int t = rnd() % 21 + 10;
vector<string> vec;
map<string, Book> books;
cout << t << endl;
for (int j = 0; j < t; ++j) {
int r = rnd() % 2;
if(!r){
string user;
for (int k = 0; k < 3; ++k) {
user += rnd() % 26 + 'a';
}
int num = rnd() % 10 + 1;
string bookName;
int has = rnd() % 2;
if(vec.empty())has = 0;
if(!has){
for (int k = 0; k < 4; ++k) {
bookName += rnd() % 26 + 'a';
}
}
else{
bookName = vec[rnd() % (int)vec.size()];
}
int amountPaid = rnd() % 3000 + 1;
cout << user + " wants to buy " + to_string(num) + " instances of the book " + bookName + " and paid " +
to_string(amountPaid) << endl;
}
else{
int num = rnd() % 10 + 1;
int has = rnd() % 2;
if(vec.empty())has = 0;
Book curBook;
string bookName;
if(!has){
for (int k = 0; k < 4; ++k) {
bookName += rnd() % 26 + 'a';
}
vec.push_back(bookName);
string category;
for (int k = 0; k < 3; ++k) {
category += rnd() % 26 + 'a';
}
int pages = rnd() % 200 + 1;
int price = rnd() % 300 + 1;
Book book = {bookName, category, pages, price};
curBook = book;
books[bookName] = book;
}
else{
bookName = vec[rnd() % (int)vec.size()];
curBook = books[bookName];
}
cout << "The shop received " + to_string(num) + " instances of the book " + curBook.name + " " + curBook.category + " " +
to_string(curBook.pages) + " " +
to_string(curBook.price) << endl;
}
}
cout << endl;
}
}
signed main() {
Drakon();
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}Editor is loading...
Leave a Comment