Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int add (string &data, string &tar, int i) {
- while (data[i] != ':') i ++;
- while (data[i] != '"') i ++;
- i ++;
- while (data[i] != '"') {
- if (data[i] == '\\' && data[i + 1] == 'n') {
- tar += '\n';
- i += 2;
- continue;
- }
- if (data[i] == '<') {
- if (data.substr(i, 5) == "<div>") {
- i += 5;
- continue;
- }
- if (data.substr(i, 6) == "</div>") {
- i += 6;
- continue;
- }
- if (data.substr(i, 4) == "<br>") {
- tar += '\n';
- i += 4;
- continue;
- }
- }
- tar += data[i];
- i ++;
- }
- return ++ i;
- }
- void solve (int id) {
- char filename[30];
- sprintf_s(filename, ".\\%d\\config.json", id);
- ifstream infile;
- infile.open(filename);
- char ch;
- string file;
- while (infile.get(ch)) {
- file += ch;
- }
- infile.close();
- string title;
- string timelimit;
- string level;
- string description;
- string inputdescription;
- string outputdescription;
- string inputsample;
- string outputsample;
- string hint;
- string source;
- for (int i = 0; i < file.size(); i ++) {
- if (file.substr(i, 5) == "title") i = add(file, title, i);
- if (file.substr(i, 9) == "timelimit") i = add(file, timelimit, i);
- if (file.substr(i, 5) == "level") i = add(file, level, i);
- if (file.substr(i, 11) == "description") i = add(file, description, i);
- if (file.substr(i, 15) == "inputdescription") i = add(file, inputdescription, i);
- if (file.substr(i, 16) == "outputdescription") i = add(file, outputdescription, i);
- if (file.substr(i, 11) == "inputsample") i = add(file, inputsample, i);
- if (file.substr(i, 12) == "outputsample") i = add(file, outputsample, i);
- if (file.substr(i, 4) == "hint") i = add(file, hint, i);
- if (file.substr(i, 6) == "source") i = add(file, source, i);
- }
- cout << file << endl;
- cout << "[title]\n" << title << "\n\n";
- cout << "[timelimit]\n" << timelimit << "\n\n";
- cout << "[level]\n" << level << "\n\n";
- cout << "[description]\n" << description << "\n\n";
- cout << "[inputdescription]\n" << inputdescription << "\n\n";
- cout << "[outputdescription]\n" << outputdescription << "\n\n";
- cout << "[inputsample]\n" << inputsample << "\n\n";
- cout << "[outputsample]\n" << outputsample << "\n\n";
- cout << "[hint]\n" << hint << "\n\n";
- cout << "[source]\n" << source << "\n\n";
- ofstream outfile;
- sprintf_s(filename, "%d.txt", id);
- outfile.open(filename);
- outfile << "[title]\n" << title << "\n\n";
- outfile << "[timelimit]\n" << timelimit << "\n\n";
- outfile << "[level]\n" << level << "\n\n";
- outfile << "[description]\n" << description << "\n\n";
- outfile << "[inputdescription]\n" << inputdescription << "\n\n";
- outfile << "[outputdescription]\n" << outputdescription << "\n\n";
- outfile << "[inputsample]\n" << inputsample << "\n\n";
- outfile << "[outputsample]\n" << outputsample << "\n\n";
- outfile << "[hint]\n" << hint << "\n\n";
- outfile << "[source]\n" << source << "\n\n";
- outfile.close();
- }
- int main () {
- for (int i = 1485; i <= 1489; i ++) {
- solve(i);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment