比赛 2024.12.21 评测结果 AAWWWWWWAAWW
题目名称 Moorbles 最终得分 33
用户昵称 袁书杰 运行时间 0.722 s
代码语言 C++ 内存使用 11.04 MiB
提交时间 2024-12-21 16:01:07
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,k,e_max[300005],o_max[300005],T,a[300005][10],answer[300005];
  4. signed main(){
  5. freopen("Moo.in","r",stdin);
  6. freopen("Moo.out","w",stdout);
  7. ios::sync_with_stdio(false);
  8. cin.tie(0),cout.tie(0);
  9. cin>>T;
  10. while(T--){
  11. cin>>n>>m>>k;
  12. for(int i=1;i<=300000;i++){
  13. e_max[i]=o_max[i]=-2147483647;
  14. }
  15. for(int i=1;i<=m;i++){
  16. int max_e=0,max_o=0,min_e=1005,min_o=1005;
  17. for(int j=1;j<=k;j++){
  18. cin>>a[i][j];
  19. if(a[i][j]%2==0){
  20. max_e=max(max_e,a[i][j]);
  21. min_e=min(min_e,a[i][j]);
  22. }
  23. if(a[i][j]%2==1){
  24. max_o=max(max_o,a[i][j]);
  25. min_o=min(min_o,a[i][j]);
  26. }
  27. }
  28. if(max_o==0){
  29. e_max[i]=min_e;
  30. }
  31. else{
  32. e_max[i]=-max_o;
  33. }
  34. if(max_e==0){
  35. o_max[i]=min_o;
  36. }
  37. else{
  38. o_max[i]=-max_e;
  39. }
  40. }
  41. int now=n;
  42. bool flag=false;
  43. for(int i=1;i<=m;i++){
  44. if(now+e_max[i]>0){
  45. answer[i]=0;
  46. now+=e_max[i];
  47. }
  48. else if(now+o_max[i]>0){
  49. answer[i]=1;
  50. now+=o_max[i];
  51. }
  52. else{
  53. flag=true;
  54. break;
  55. }
  56. }
  57. if(flag){
  58. cout<<"-1";
  59. }
  60. else{
  61. for(int i=1;i<=m;i++){
  62. if(answer[i]==0){
  63. cout<<"Even ";
  64. }
  65. else{
  66. cout<<"Odd ";
  67. }
  68. }
  69. }
  70. cout<<'\n';
  71. }
  72. return 0;
  73. }