---
# System prepended metadata

title: 2320. Count Number of Ways to Place Houses
tags: [Leetcode, Dynamic Programming, Medium]

---

# 2320. Count Number of Ways to Place Houses
###### tags: `Leetcode` `Medium` `Dynamic Programming`
Link: https://leetcode.com/problems/count-number-of-ways-to-place-houses/
## 思路
count1代表截止到目前最后一个位置放建筑的方案总数
count2代表截止到目前最后一个位置不放建筑的方案总数
上一轮不管放不放建筑 这一轮都可以不放
但是只有上一轮不放建筑 这一轮才能放
## Code
```java=
class Solution {
    public int countHousePlacements(int n) {
        //1: last has house
        //2: last don't have house
        long count1=0, count2=1;
        int mod = 1000000007;
        for(int i=1; i<=n; i++){
            long tempCount1 = count1;
            count1 = count2; //1
            count2 = (tempCount1+count2)%mod;//1
        }
        long ans = ((count1+count2)*(count1+count2))%mod;
        return (int)ans;
    }
}
```