| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2080 人关注过本帖
标题:路过的大神进来帮帮小弟 愁啊
只看楼主 加入收藏
码农chang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
路过的大神进来帮帮小弟 愁啊
描述
在微信朋友圈中,只有好友自己才能互相评论,当浏览好友的朋友圈时,只能看到与自己也是好友的用户发表的评论。例如 a与b是好友,a与c是好友,a与d是好友,c与d是好友,b与c不是好友,b与d不是好友;如果a发了一张照片,b,c,d都做了一条评论;则a能看到所有评论,b只能看到自己的评论,c能看到c与d的评论,d能看到c与d的评论。

小明的朋友圈(包含小明)共有m(小于1000)个用户(小明与其他的所有人都是好友),好友是相互的,每个用户用一个整数(小于1000)ID表示,小明的ID为1,其他的好友依次编号;然后输入一个整数n,表示小明的好友之间有n对好友之间也是好友,然后输入n行,每行包含2个用户ID,表示这两个ID对应的用户是好友;再输入一个w,表示对小明发布的一张照片w条评论,后面有w行,每行包含一个用户ID、一个评论ID(小于10000);最后一行输入一个整数表示阅读小明朋友圈的用户ID。

请输出阅读者能看到的评论者ID及评论ID,每条评论占一行,评论者ID及评论ID占8个字符宽度右对齐。

输入
第1行一个整数m表示小明的朋友圈(包含小明)共有m(小于1000)个用户
第2行一个整数n表示小明的好友之间有n对好友之间也是好友
接下来的n行,每行包含2个用户ID,表示这两个ID对应的用户是好友;
接下来的1行包含一个整数w,表示对小明发布的一张照片w条评论
后面有w行,每行包含一个用户ID、一个评论ID(小于10000);
最后一行包含一个整数表示阅读小明朋友圈的用户ID。
输出
输出阅读者能看到的评论者ID及评论ID,每条评论占一行,包含评论者ID及评论ID,评论者ID及评论ID占8个字符宽度右对齐。
样例输入
4
4
1 2
1 3
1 4
3 4
3
2 100
3 101
4 102
1
样例输出
       2     100
       3     101
       4     102
提示
小明能看到所有的评论,小明与所有的其他用户的是好友(不需要输入)
搜索更多相关主题的帖子: 朋友 照片 用户 
2016-11-19 18:28
码农chang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-19
收藏
得分:0 
我的代码:
import java.util.*;

public class Main {

    user xmFC = new user(1);
    ArrayList<user> fc = xmFC.friendList;
   
    public static void main(String[] args) throws Exception{
        Main friendCircle = new Main();
        Scanner cin = new Scanner(System.in);
        int m = cin.nextInt();
        if(m>=1000){System.exit(0);}
        for(int i=2;i<=m;i++){
            friendCircle.addFriend(i);
        }
        int n = cin.nextInt();
        for(int i=0;i<n;i++){
            int a = cin.nextInt();
            if(a>m){System.exit(0);}
            int b = cin.nextInt();
            if(b>m){System.exit(0);}
            friendCircle.isFriend(a, b);
        }
        int w = cin.nextInt();
        for(int i=0;i<w;i++){
            int u = cin.nextInt();
            if(u>m){System.exit(0);}
            int uc = cin.nextInt();
            if(uc>=1000){System.exit(0);}
            (u, uc);
        }   
        
           int rId = cin.nextInt();
           if(rId ==1){
               friendCircle.xmFC.readComment();
           }else{
           friendCircle.read(rId);}
           cin.close();
    }

    public void addFriend(int userId){
        user friend = new user(userId);
        xmFC.beFriend(friend);
        friend.beFriend(xmFC);
    }
   
    public void isFriend(int a,int b){
        fc.get(a-1).beFriend(fc.get(b-1));
        fc.get(b-1).beFriend(fc.get(a-1));
    }
   
    public void comment(int u,int uc){
        fc.get(u-1).comment(uc);
    }
   
    public void read(int rId){
                fc.get(rId-1).readComment();            
    }
}





class user {

    int id ;
    ArrayList<Integer> cIds = new ArrayList<Integer>();
    boolean hasComment;
    ArrayList<user> friendList = new ArrayList<user>();
   
    public user(int userId) {
        this.id = userId;
        friendList.add(this);
    }

    public void beFriend(user b){
        if(!this.friendList.contains(b)){
            friendList.add(b);
        }
    }
   
    public void comment(int cId){
        this.cIds.add(cId);
        this.hasComment = true;
    }

    public void readComment() {
        for(int i=0;i<friendList.size();i++){
            user readUF =  friendList.get(i);
                if(readUF.hasComment){
                    int fid = readUF.id;
                    for(int j=0;j<readUF.cIds.size();j++){
                        int fcId = readUF.cIds.get(j);
                        System.out.print(String.format("%1$8d", fid));
                        System.out.println(String.format("%1$8d", fcId));
                    }
                }
            
        }
        
    }
}
2016-11-19 18:29
码农chang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-19
收藏
得分:0 
死活提交不成功 大神们看看哪里不符合要求啊。。。
2016-11-19 18:30
码农chang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-19
收藏
得分:0 
给一个失败的测试用例就行啊啊啊啊 帮帮忙啊 头疼
2016-11-19 20:38
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
收藏
得分:20 
你在理理控制台输入语句与循环语句之间的逻辑关系,问题应该是在这儿

我本楚狂人,凤歌笑孔丘
2016-11-26 23:19
快速回复:路过的大神进来帮帮小弟 愁啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026444 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved