首页 > 试题广场 >

超链接

[编程题]超链接
  • 热度指数:1380 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
很多网页上会显示一些其他网页的超链接,如一些搜索网页会逐条列出搜索到的条目。
在一些网页中,被用户点击过的超链接会换一种颜色显示。假设某网页一开始有 n 条超链接,从上到下由 1 到 n 编号,每条超链接都显示成一个字符串,最开始所有的超链接用蓝色显示。
现在给出用户点击过哪些超链接,一条超链接只要被点击过了,就会由蓝色变成紫色,请输出最后仍为蓝色的超链接。

数据范围:

输入描述:
第一行输入一个数 n ,接下来 n 行,每行一个字符串,表示每个超链接的名称,名称只由小写字母构成,长度不超过 20,且所有名称互不相同。
接下来输入一个数 m ,表示用户点击了 m 个超链接,最后 m 行表示用户点击过的超链接名称,这 m 个超链接中可能有重复。


输出描述:
输出若干行,每行一个名称,所有仍为蓝色的超链接名称,名称的顺序按照字典序排序,如果全为紫色则不输出。
示例1

输入

5
sina
qq
taobao
jd
baidu
3
qq
baidu
baidu

输出

jd
sina
taobao
package main

import (
    "fmt"
    "sort"
)

func main() {
    var n int
    fmt.Scan(&n)
    cnt:=map[string]bool{}
    arr:=make([]string,n)
    for i:=0;i<n;i++{
        fmt.Scan(&arr[i])
        cnt[arr[i]]=true
    }
    sort.Strings(arr)
    fmt.Scan(&n)
    var s string
    for n>0{
        fmt.Scan(&s)
        cnt[s]=false
        n--
    }
    for _,url:=range arr{
        if cnt[url]==true{
            fmt.Println(url)
        }
    }
}

发表于 2023-03-19 17:04:42 回复(0)