Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from constraint import *
- def check_valid(cas1,cas2):
- day1, time1 = cas1.split('_')
- day2, time2 = cas2.split('_')
- if day1==day2 and abs(int(time1)-int(time2))<2:
- return False
- return True
- def check_valid_ml(ml1,ml2):
- day1, time1 = ml1.split('_')
- day2, time2 = ml2.split('_')
- if time1==time2:
- return False
- return True
- if __name__ == '__main__':
- problem = Problem(BacktrackingSolver())
- casovi_AI = input()
- casovi_ML = input()
- casovi_R = input()
- casovi_BI = input()
- AI_predavanja_domain = ["Mon_11", "Mon_12", "Wed_11", "Wed_12", "Fri_11", "Fri_12"]
- ML_predavanja_domain = ["Mon_12", "Mon_13", "Mon_15", "Wed_12", "Wed_13", "Wed_15", "Fri_11", "Fri_12", "Fri_15"]
- R_predavanja_domain = ["Mon_10", "Mon_11", "Mon_12", "Mon_13", "Mon_14", "Mon_15", "Wed_10", "Wed_11", "Wed_12",
- "Wed_13", "Wed_14", "Wed_15", "Fri_10", "Fri_11", "Fri_12", "Fri_13", "Fri_14", "Fri_15"]
- BI_predavanja_domain = ["Mon_10", "Mon_11", "Wed_10", "Wed_11", "Fri_10", "Fri_11"]
- AI_vezbi_domain = ["Tue_10", "Tue_11", "Tue_12", "Tue_13", "Thu_10", "Thu_11", "Thu_12", "Thu_13"]
- ML_vezbi_domain = ["Tue_11", "Tue_13", "Tue_14", "Thu_11", "Thu_13", "Thu_14"]
- BI_vezbi_domain = ["Tue_10", "Tue_11", "Thu_10", "Thu_11"]
- # ---Tuka dodadete gi promenlivite--------------------
- variables_all = []
- variables_ml= []
- for i in range(int(casovi_AI)):
- problem.addVariable(f"AI_cas_{i+1}",AI_predavanja_domain)
- variables_all.append(f"AI_cas_{i+1}")
- for i in range(int(casovi_ML)):
- problem.addVariable(f"ML_cas_{i+1}",ML_predavanja_domain)
- variables_all.append(f"ML_cas_{i+1}")
- variables_ml.append(f"ML_cas_{i+1}")
- for i in range(int(casovi_R)):
- problem.addVariable(f"R_cas_{i+1}",R_predavanja_domain)
- variables_all.append(f"R_cas_{i+1}")
- for i in range(int(casovi_BI)):
- problem.addVariable(f"BI_cas_{i+1}",BI_predavanja_domain)
- variables_all.append(f"BI_cas_{i+1}")
- problem.addVariable("AI_vezbi",AI_vezbi_domain)
- variables_all.append("AI_vezbi")
- problem.addVariable("ML_vezbi",ML_vezbi_domain)
- variables_all.append("ML_vezbi")
- variables_ml.append("ML_vezbi")
- problem.addVariable("BI_vezbi",BI_vezbi_domain)
- variables_all.append("BI_vezbi")
- # ---Tuka dodadete gi ogranichuvanjata----------------
- # ----------------------------------------------------
- for i in range(len(variables_all)):
- for j in range(i+1,len(variables_all)):
- problem.addConstraint(check_valid,(variables_all[i],variables_all[j]))
- for i in range(len(variables_ml)):
- for j in range(i+1,len(variables_ml)):
- problem.addConstraint(check_valid_ml,(variables_ml[i],variables_ml[j]))
- solution = problem.getSolution()
- print(solution)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement