174B. File List:题目
可恶啊,写了一堆bug,最讨厌字符串处理了(〃>目<)
#include <bits/stdc++.h>
using namespace std;
// #define int long long
string s, ss = "";
vector<string> ve;
signed main()
{// freopen("input.txt","r",stdin);// freopen("output.txt","w",stdout);cin >> s;int n = s.length();int ff = 1;for (int i = 0; i < n; i++){if (s[i] == '.'){if (ss == ""){ff = 0;break;}ve.push_back(ss), ss = "";}elsess += s[i];}// cout<<ff<<endl;if (ss == "")ff = 0;ve.push_back(ss);int m = ve.size();// cout<<ff<<endl;if (m == 1)ff = 0;// cout<<ff<<endl;if (ve[0].size()>8) ff = 0;for (int i = 1; i < m - 1; i++){int cou = ve[i].size();// cout<<cou<<endl;if (cou == 1 || cou > 11)ff = 0;}// cout<<ff<<endl;if (ve[m - 1].size() > 3)ff = 0;// cout<<ff<<endl;int cnt = 0;if (ff){cout << "YES" << endl;for (int i = 0; i < m - 1; i++){for (int j = cnt; j < ve[i].size(); j++)cout << ve[i][j];cout << ".";if (i != m - 2){int cou = max(1, (int)ve[i + 1].size() - 8);cnt = cou;if (i != m - 2)for (int j = 0; j < cou; j++)cout << ve[i + 1][j];if (i != m - 2)cout << endl;}}cnt = 0;for (int j = cnt; j < ve[m - 1].size(); j++)cout << ve[m - 1][j];cout << endl;}elsecout << "NO" << endl;return 0;
}