美文网首页
杭电-1050 Moving Tables 常见的一个WA

杭电-1050 Moving Tables 常见的一个WA

作者: 这样你就找不到我了 | 来源:发表于2020-04-29 14:26 被阅读0次

注意走廊两边的房间共用一个走廊。
这意味着,类似1 3, 4 5这种情况没法同时搬运,我们需要对这种情况进行调整。

# include<stdio.h>
# include<vector>
#include<malloc.h>
#include<string.h>
# include<algorithm>
using namespace std;

int A[201], B[201], sigt[201];

typedef struct P{
    int start;
    int end;
}P;

bool compare(P a, P b){
    if(a.end <= b.end)
        return true;
    else return false;  
}

// bool compare(P a, P b){
//  if(a.start == b.start) return a.end < b.end;
//  else return a.start<b.start;
// }

int main(){

    int N;
    while(scanf("%d",&N)!=EOF){
        for(int i=0;i<N;i++){
            memset(sigt, 0, sizeof(sigt));
            int n;
            vector<P> V;
            scanf("%d",&n);
            for(int j=0;j<n;j++){
                scanf("%d %d", &A[j],&B[j]);
                
                if(A[j] > B[j]){
                    int temp;
                    temp = A[j];
                    A[j] = B[j];
                    B[j] = temp;
                }
                //?????????????1 3?4 5??????????????????? 1 3?4 5 ?? 1 4, 3 5???????
                // if(A[j]%2==0) A[j]--;
                // if(B[j]%2==1) B[j]++;

                V.push_back({A[j],B[j]});
            }
            sort(V.begin(),V.end(),compare);
            for(int h=0;h<n;h++){
                printf("%d %d\n",V[h].start, V[h].end);
            }

            int count = 0;
            for(int k=0;k<n;k++){
                if(sigt[k]==0){
                    count++;
                    int t=V[k].end;

                    for(int j=k+1;j<n;j++){
                        
                        if(V[j].start>t && sigt[j]==0){
                            printf("t:%d\n", t );
                            t = V[j].end;
                            sigt[j]=1;
                        }
                    }
                }
            }
            printf("%d\n",count*10);
        }
    }
    getchar();
    getchar();
    return 0;
}

相关文章

  • 杭电-1050 Moving Tables 常见的一个WA

    注意走廊两边的房间共用一个走廊。这意味着,类似1 3, 4 5这种情况没法同时搬运,我们需要对这种情况进行调整。

  • 贪心算法 1050 2037

    1050 Moving Tables题目大意:题意:在一个长走廊里搬桌子,走廊的两侧都是房间,把桌子从一个房间搬到...

  • 杭电助手

    杭电助手(服务号hduhelp,订阅号hduhelper)是隶属于杭州电子科技大学党委学工部的校级组织,我们有前端...

  • 杭电2015

    这道题看起来不复杂,但做起来还是挺费工夫的。里面要用很多的循环结构,很容易在些小地方出错。我就是因为那些小问题而搞...

  • 杭电打卡

    这题主要是数学方法求解,其他没什么难度,关键是得出递推公式。 假如第一个和最后一个格子能相同颜色,我们可以很快算出...

  • 杭电oj 第11页 java版答案

    杭电oj 第2000- 2099 题 全答案杭电oj 第十一页答案 具体路径在 src/main/java/com...

  • 杭电ACM1001

    不再更新,杭电ACM的题转到csdn博客

  • 大白的杭电之行

    原创 2016-10-20 大白 PPT演讲技术 昨天上午,我去杭州电子科技大学给省内的幼儿教师做了一次跟「PPT...

  • 杭电ACM(1013)

  • 二零一七杭电赏梅

    西邻专司花千尊, 东毗惟和草万匀, 纷落梅卿诱草生, 葱绿淡粉妆美人。

网友评论

      本文标题:杭电-1050 Moving Tables 常见的一个WA

      本文链接:https://www.haomeiwen.com/subject/ggwgwhtx.html