Untitled
unknown
plain_text
2 years ago
4.4 kB
11
Indexable
//#define MAX_N (10001)
//#define MAX_STR_LEN (13)
//#define MAX_T 3001
//
//#include<algorithm>
//#include<string>
//#include<vector>
//#include<set>
//#include<unordered_map>
//using namespace std;
//
//
//struct MEETING{
// int date;
// int start;
// int end;
//}pool[MAX_N];
//int np;
//
//unordered_map<string, int> teamName;
//unordered_map<string, int> memberName;
//int curday;
//
//struct MEMBER{
// //set<int> midLst[6];
// vector<int> midLst[6];
// void init(){
// for(int i=0;i<6;i++)
// midLst[i].clear();
// }
//};
//MEMBER mems[MAX_N];
//int nm;
//
//struct TEAM{
// vector<int> memLst;
// int mid;
// void init(){
// memLst.clear();
// mid = 0;
// }
//} teams[MAX_T];
//int nt;
//
//void init(int N, char mName[][MAX_STR_LEN])
//{
// curday = np = 1;
// nm = nt = 1;
// teamName.clear();
// memberName.clear();
// for(int i=0;i<N; i++){
// mems[nm].init();
// memberName[mName[i]] = nm++;
// }
// for(int i=0;i<MAX_T;i++)
// teams[i].init();
//}
//
//void createTeam(char mTeamName[], int M, char mName[][MAX_STR_LEN])
//{
// for(int i=0;i<M;i++){
// int mN = memberName[mName[i]];
// teams[nt].memLst.push_back(mN);
// }
// teamName[mTeamName] = nt++;
//}
//
//int updateMeeting(int tid, int day, int start, int duaration){
// pool[np].date = day;
// pool[np].start = start;
// pool[np].end = start + duaration - 1;
// teams[tid].mid = np;
// int d = day%7;
// for(auto m:teams[tid].memLst){
// //mems[m].midLst[d].insert(np);
// mems[m].midLst[d].push_back(np);
// }
// np++;
// int w = day/7 + 1;
// int h = 9 + start/60;
// int m = start%60;
// int res = w*100000 + d*10000 + h*100 + m;
// return res;
//}
//
////struct cmp{
//// bool operator()(int id1, int id2){
//// if(pool[id1].start != pool[id2].start)
//// return pool[id1].start < pool[id2].start;
//// else return pool[id1].end > pool[id2].end;
//// }
////};
//
//
//bool cmp(int id1, int id2){
// if(pool[id1].start != pool[id2].start)
// return pool[id1].start < pool[id2].start;
// else return pool[id1].end > pool[id2].end;
//}
//
//int bookMeeting(char mTeamName[], int mMinutes)
//{
// int res = 0;
// int t = teamName[mTeamName];
// //cancel exist meeting
// int mid = teams[t].mid;
// if(mid){
// for(auto m:teams[t].memLst){
// int day = pool[mid].date%7;
// int tmp = mems[m].midLst[day].size();
// for(int i=0; i<tmp; i++){
// if(mid == mems[m].midLst[day][i]){
// mems[m].midLst[day][i] = mems[m].midLst[day][tmp-1] ;
// mems[m].midLst[day].pop_back();
// }
// /*if(mems[m].midLst[day].count(mid))
// mems[m].midLst[day].erase(mid);*/
// }
// }
// teams[t].mid = 0;
// }
//
// for(int i = curday; i< curday+7;i++){
// int day = i%7;
// if(day==6 || !day)
// continue;
// vector<int> meeting;
// //set<int, cmp> meeting;
// for(auto mem:teams[t].memLst){
// for(auto meet:mems[mem].midLst[day]){
// meeting.push_back(meet);
// //meeting.insert(meet);
// }
// }
// sort(meeting.begin(), meeting.end(), cmp);
// int start_pos = 0;
// //at start point have no meeting
// if(!meeting.size()){
// res = updateMeeting(t, i, start_pos, mMinutes);
// return res;
// }
//
// for(auto mid:meeting){
// if(pool[mid].start - start_pos >= mMinutes){
// res = updateMeeting(t, i, start_pos, mMinutes);
// return res;
// }
// if(pool[mid].end >= start_pos){
// start_pos = pool[mid].end + 1;
// }
// }
//
// //outside exist meeting
// if(540 - start_pos + 1 >= mMinutes){
// res = updateMeeting(t, i, start_pos, mMinutes);
// return res;
// }
// }
//
// return res;
//}
//
//void timeElapse(int mDays)
//{
// curday += mDays;
//}Editor is loading...