java关于friendly
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java关于friendly相关的知识,希望对你有一定的参考价值。
这是题目:
用public、private、protected以及“友好的”数据成员及方法成员创建一个类。创建属于这个类的一个对象,并观察在试图访问所有类成员时会获得哪种类型的编译器错误提示。注意同一个目录内的类属于“默认”包的一部分。
下面是我写的代码:
class Test
public int a;
private int b;
protected int c;
int d;
public void a()
System.out.println("public" + a);
private void b()
System.out.println("private" + b);
protected void c()
System.out.println("protected" + c);
void d()
System.out.println("friendly" + d);
public class Test01
public static void main(String[] args)
Test test = new Test();
test.a();
//test.b();//私有变量在Test01类中不可见
test.c();
test.d();
System.out.println(test.a);
//System.out.println(test.b); //私有方法在Test01类中不可见
System.out.println(test.c);
System.out.println(test.d);
我想请问一下,为什么我把
class Test
public int a;
private int b;
protected int c;
int d;
这里面的d定义成friendly int d;
编译就不能通过。。
这是为什么呀。
friendly是默认的意思呀,为什么加了就不能通过了
HDU 5305 Friends (DFS)
Friends
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s):
163 Accepted Submission(s): 61
Problem Description
For each testcase, the first line contains two integers
2 3 3 1 2 2 3 3 1 4 4 1 2 2 3 3 4 4 1
0 2
题目大意:一些朋友关系可离线可在线,要求每一个人的离线朋友数等于在线朋友数
题目分析:数据量不大。直接爆搜。记录每一个点的度数,奇数的直接不可能,偶数的分成两个数组,c1[i]表示i的在线朋友数,c2[i]表示i的离线朋友数,然后一条边一条边搜即可了,注意一个剪枝。当一条边的两个端点有一个c值为0,则return
#include <cstdio> #include <cstring> bool mp[10][10]; int deg[10], c1[10], c2[10]; int n, m, cnt, ans; struct EDGE { int u, v; }e[100000]; void DFS(int cur) { if(cur == m + 1) { ans ++; return; } int v = e[cur].v; int u = e[cur].u; if(c1[u] && c1[v]) { c1[u] --; c1[v] --; DFS(cur + 1); c1[u] ++; c1[v] ++; } if(c2[u] && c2[v]) { c2[u] --; c2[v] --; DFS(cur + 1); c2[u] ++; c2[v] ++; } return; } int main() { int T; scanf("%d", &T); while(T --) { cnt = 0; ans = 0; memset(deg, 0, sizeof(deg)); memset(e, 0, sizeof(e)); memset(c1, 0, sizeof(c1)); memset(c2, 0, sizeof(c2)); scanf("%d %d", &n, &m); for(int i = 1; i <= m; i++) { scanf("%d %d", &e[i].u, &e[i].v); deg[e[i].u] ++; deg[e[i].v] ++; } bool f = false; for(int i = 1; i <= n; i++) { c1[i] = c2[i] = deg[i] / 2; if(deg[i] & 1) { f = true; break; } } if(f) { printf("0\n"); continue; } DFS(1); printf("%d\n", ans); } }
以上是关于java关于friendly的主要内容,如果未能解决你的问题,请参考以下文章